d:回车
dir
cd 文件夹名
(进入文件夹)cd ..
cls
exit
javac 文件名.java
执行:java 类名
//需要注释的内容
/* 需要注释的内容 */
/** 需要注释的信息 */
在程序运行中,其值不发生改变的量
"字符串常量"
666
、888
3.14
'A'
true
、false
null
(注意:空常量不能直接输出
)在程序运行过程中,其值可以发送改变的量,变量由变量名、数据类型、具体值组成
int a=10;
(变量名不可以重复定义,且必须赋值)long a=10000000000L;
float a=13.14F;
给类、方法、变量命名的
由字母、数字、下划线、和美元符号($)
不能以数字开头
不能是关键字
区分大小写
大驼峰命名法(类)
FirstName
小驼峰命名法(方法、变量)
firstName
自动类型转换
double d=10;
强制类型转换
int k=(int)88.88
double k=88.88;int m=(int)k;
+ - * / %
(计算运算符)'A'=65,'a'=97,'0'=48
(运算出来的值必须由最高类型接收)=
int i=10;
(把10赋值给i)short i=10;i+=10;(可运行)
short i=10;i=i+10;(报错)
++(自增)
int i=10;int j=i++;j=++i;(两个j值不相同)
--(自减)
== != > >= < <=
(相等、不相等、大于、大于等于、小于、小于等于)& | ^ !
(与、或、异或、非)&& ||
(短路与、短路或)a>b?a:b
(如果前面判断结果是true,a就是运算结果;结果是false,b就是运算结果)import java.util.Scanner;
Scanner sc = new Scanner(System.in);
int i =sc.nextInt();
正常程序运行从头到尾
if语句
if(关系表达式){语句体;};
(如果关系表达式结果为1,执行语句体,为0,跳过语句体)if(关系表达式){语句体1;}else{语句体2;}
(如果关系表达式的结果为,执行语句体1;为0,执行语句体2)if(关系表达式){语句体1;}else if(关系表达式){语句体2;}....else {语句体n};
switch语句
for(初始化语句;条件判断语句;条件控制语句){循环体语句;}
执行过程:(初始化语句-》条件判断语句-》循环体语句-》条件控制语句-》条件判断语句)while(条件判断语句){循环体语句;条件控制语句;}
do{循环体语句;条件控制语句;}while(条件判断语句);
(do...while循环语句中循环体起码执行一次)break;
(跳出整个循环)continue;
(跳过本轮循环)作用:产生一个随机数
import java.util.Random;
Random r = new Random(
);int number = r.nextInt(10);
(获取数据的范围【0,10】,包括0,不包括10,可在括号外加1,就可以取到10)IDEA全称IntelliJ IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具。
Ctrl+Alt+space
(内容提示,代码补全)psvm,回车
sout,回车
Ctrl+/
,再来一次技术取消Ctrl+Shift+/
,再来一次取消数组是一种用于存储多个相同类型数据的存储类型
int[] arr;
int arr[];
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
int [] arr=new int[3];
int[] arr = new int[2];arr[0]=10;
int[] arr = new int[2];int[] arr2 = arr;
初始化时指定每个数组元素的初始值,由系统决定长度
数据类型[] 变量名 = new 数据类型[]{数据1,数据2,数据3,......};
简化版:数据类型[] 变量名 = {数据1,数据2,数据3,......}
int[] arr = new int[]={1,2,3,4};
简化版: int[] arr={1,2,3,4,...};
遍历
获取数组元素个数
arr.length
方法就是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集;(类似C语言的函数)
public static void 方法名(){ // 方法体 }
piblic static void isEvenNumber(){ 方法体 }
isEvenNumber();
public static void 方法名(参数){......................}
public static void isEvenNumber(int number){...... ......}
public static void 方法名(参数1,参数2){.....................}
public static void isEvenNumber(int number1,int number2){...... ......}
public static 数据类型 方法名(参数){ return 数据;}
public static boolen isEvenNumber(int number){ return true; }
方法名(参数);
boolean flag=isEvenNumber(5);
(实参也可以传变量)方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。
类是Java程序的基本组成单位
定义类:public class 类名{ //成员变量 // 成员方法 }
是对显示生活中一类具有共同属性和行为的食物的抽象
属性:对象本身具有的值
行为:对象能做的事情
类名 对象名 = new 类名();
Phon p = new Phone();
使用成员变量
p.brand;
使用成员方法
p.call
类中方法外的变量
方法内的变量
范例:privat int a;
范例:this.name=name;
(前面的name是成员变量后面的name是局部变量)
public class Student{ public Student(){ 构造书写的内容,可以不写,就是无参构造 } }
成员变量
构造方法
成员方法
构造方法
String s =”abc“
(直接赋值的方法)public String()
(创建一个空白字符串对象,不含有任何内容)public String(char[] chs)
(根据字符数组的内容,来创建字符串对象)s1==s2;
(地址比较)s1.equals(s4);
(内容比较)public char charAt(int index);
(返回指定索引处的char值)构造方法
public StringBuilder();
public StringBuilder(String str);
添加
public StringBuilder append(任意类型)
反转字符串
public StringBuilder reverse()
StringBuilder转换为String
格式:public String to String();
范例:
xxxxxxxxxx
StringBuilder sb = new StringBuilder();
String s=sb.toString();
String转换为StringBuilder
格式:public StringBuilder(String s);
范例:
xxxxxxxxxx
String s = "helloworld";
StringBuilder sb = new StringBuilder(s);
构造方法
xxxxxxxxxx
ArrayList<String> array = new ArrayList<>();
向集合内添加元素方法
xxxxxxxxxx
array.add("hello");
xxxxxxxxxx
array.add(1,"xxxx");
删除指定的元素,返回删除是否成功(返回值为beoolean)
xxxxxxxxxx
boolean i = array.remove("xxxx");
删除指定索引处的元素,返回被删除的元素
xxxxxxxxxx
String i = array.remove(1);
修改指定索引处的元素,返回被修改的元素
xxxxxxxxxx
String i =array.set(1,"java");
返回被指定索引处的元素
xxxxxxxxxx
String i =array.get(0);
返回集合中元素的个数
xxxxxxxxxx
array.size()
xxxxxxxxxx
package com.itheima;
import java.lang.module.FindException;
import java.util.Scanner;
import java.util.ArrayList;
public class StudenManager {
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<Student>();
while (true) {
//界面
System.out.println("--------欢迎来到学生管理系统--------");
System.out.println("1.添加学生");
System.out.println("2.删除学生");
System.out.println("3.修改学生");
System.out.println("4.查看所有学生");
System.out.println("5.退出");
//设置一个输入
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的选择:");
int choose = sc.nextInt();
switch (choose) {
case 1:
addStudent(array);
break;
case 2:
deletesStudent(array);
break;
case 3:
updateStudent(array);
break;
case 4:
findStudent(array);
break;
case 5:
System.out.println("谢谢使用");
System.exit(0);
}
}
}
// 添加学生信息
public static void addStudent(ArrayList<Student> array) {
//键盘;录入信息
Scanner sc = new Scanner(System.in);
String sid;
while(true) {
System.out.println("请输入学生学号:");
sid = sc.nextLine();
boolean flag = isUsed(array, sid);
if(flag){
System.out.println("你输入的学号已经被使用,请重新输入");
}else {
break;
}
}
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生年龄:");
String age = sc.nextLine();
System.out.println("请输入学生居住地:");
String address = sc.nextLine();
//创建学生对象
Student s = new Student(sid, name, age, address);
//将学生添加到集合中
array.add(s);
System.out.println("添加学生成功");
}
// 查看学生信息
public static void findStudent(ArrayList<Student> array) {
if(array.size()==0)
{
System.out.println("无信息,请先添加信息在查询");
return;
}
//显示表头信息
System.out.println("学号\t\t姓名\t\t年龄\t\t居住地");
//将集合数据取出
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
System.out.println(s.getSid() + "\t\t" + s.getName() + "\t" + s.getAge() + "\t\t" + s.getAddress());
}
}
// 删除学生信息
public static void deletesStudent(ArrayList<Student> array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要删除的学生学号:");
String sid = sc.nextLine();
int index=-1;
for(int i=0;i< array.size();i++){
Student s = array.get(i);
if(s.getSid().equals(sid))
{
index = i;
break;
}
}
if(index==-1){
System.out.println("该信息不存在,请重新输入");
}
else {
array.remove(index);
System.out.println("删除成功");
}
}
// 修改学生信息
public static void updateStudent(ArrayList<Student> array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要修改的学生的学号:");
int index=-1;
String sid = sc.nextLine();
for(int i=0;i<array.size();i++){
Student student=array.get(i);
if(student.getSid().equals(sid)) {
index=i;
}
}
if(index==-1)
{
System.out.println("该信息不存在,请重新输入");
}
else{
System.out.println("请输入学生新姓名:");
String name = sc.nextLine();
System.out.println("请输入学生新年龄:");
String age = sc.nextLine();
System.out.println("请输入学生新居住地:");
String address = sc.nextLine();
Student s = new Student(sid,name,age,address);
array.set(index,s);
System.out.println("修改学生成功");
}
}
public static boolean isUsed(ArrayList<Student> array,String sid) {
boolean flag = false;
for (int i = 0; i < array.size(); i++) {
Student student=array.get(i);
if(student.getSid().equals(sid)){
flag=true;
break;
}
}
return flag;
}
}
xpackage com.itheima;
public class Student {
public Student(){
}
//构造函数
public Student(String sid, String name,String age,String address){
this.sid=sid;
this.age=age;
this.name=name;
this.address=address;
}
//获取接口
public String getSid(){
return sid;
}
public String getAddress(){
return address;
}
public String getAge(){
return age;
}
public String getName(){
return name;
}
//设置接口
public void setSid(String Sid){
this.sid=Sid;
}
public void setName(String name){
this.name=name;
}
public void setAge(String Age){
this.age=Age;
}
public void setAddress(String address){
this.address=address;
}
//学号
private String sid;
//姓名
private String name;
//年龄
private String age;
//居住地
private String address;
}