while循环:不知道循环次数。先判断,再循环。常用死循环。用死循环时就要判断什么时候手动让他停止,而这个时候就常会定义一个Boolean类型的变量,
while(循环条件){
循环操作;
}
循环条件是要是布尔值,一般可是判断表达式,True继续循环,False终止循环
例
while(i<100){
system.out.println(i)
i++;
}
}
}
例
while(true) {
System.out.println(i);
// i = i+1;
// i += 1;
// i++;
if(i >100) {
break;
}
用死循环时就要判断什么时候手动让他停止,而这个时候就常会定义一个Boolean类型的变量,让他初始值为true,到循环该结束时,让他的值为false或者直接break
例`
while(i<100){
system.out.println(i)
i++;
}
}
}`
让他初始值为true,到循环该结束时,让他的值为false。
for循环
r使用的场景是:知道循环次数的情况下使用for循环
格式
for(表达1;表达式2;表达式3){ //表达式1一般写i的初始值,表达式2 写i的范围,表达式写i的变化,如i++
循环体;
}
解读:for()循环的执行过程是:1、先执行表达式1的语句,2、再执行表达式2语句,如果表达式2 成立时,则执行循环体的语句,最后执行表达式3,这样从表达式1至表达式3依次执行,当表达式2不成立时,退出循环
例子:
int sum =0;
for (int i=1;i<100;i++){
sum=sum+i;
}
system.out.println(sum);
}
}
数组的定义
float[] arr = new float[10]; // arr可以装10个float数据
int[] arr2 = new int[8]; // arr2可以装8个int数据
String[] arr3 = new String[7]; //arr3 可以装7个String数据
或者说直接填充
int[] arr=new arr[]{1,3,5,7,9} //这样就可以不用定义长度,长度由此时填入的数据量 所决定
注意:数组有一个常用的属性:length
int length= arr.length;
数组的填充
如何向数组中填数据
arr[0] = 1.8;
arr2[2]=5;
arr3[1] = "zhangsan";
如果要批量自动装数据:用for循环
for(int i=0;i<10;i++){
arr[i] = i;
}
例题求最大值和最小值
for(int i=1;i<5;i++){
if(maxscoreArr[i]){min=scoreArr[i];}
}
System.out.println("最大值是"+max);
System.out.println("最小值是"+min);
一般先创建一个临时变量,然后让该变量和每个值比较
冒泡排序法
for(int i=0;i arr[j+1]) {
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
输入用Scanner一般都是字符串型,所以当需要int或者float时,需要用特殊方法转得。
Scanner scn=new Scanner(System.in);
String name=scn.nextLine();//字符型直接得
int num=Integer.parseInt(scn.nextLine()); //int型一般用Integer.parseInt(scn.nextLine())转得
Float score=Float.parseFloat(scn.nextLine());Float型用.parseFloat(scn.nextLine())转的
输出
System.out.println('输出的东西')
类的定义:类是一个模板,它描述一类对象的行为和状态。可以封装多种数据类型。
对象: 对象:对象是类的一个实例有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。,根据类模板创建出来的一套具体数据(可以用该类型的变量来引用)
类成员类
可以有三种类型的成员
域(feld):与类及其对象相关联的数据变量,其中保存着类或对象的状态
方法( method):包含类的可执行代码并定义了对象的行为。
嵌套类( nested class)和嵌套接口( nested inferface):嵌套类和嵌套接口是那些嵌套在其他类或接口中的类和接口。本章我们主要讨论基本成员:域和方法。嵌套成员在第5章讨论。
类的声明
public class StudentInfo {
String name;
String stuNbr;
int age; //类的域
float score;
}
域的初始化的几种方式
double zero =0.0//常量
double sum =4//常量表达式
double zerocopy zero//域
double roottwo=Math,sqrt(2);//方法调用
double someva1=Sum+2Math.sqrt( roott wo);//混合情况
注:如果没有初始化,那么就按其类型赋予初始值
创造对象
StudentInfo stu1= new StudentInfo(); //创造该类的对象
为对象的属性赋值:
stu1.name = "张三";
stu1.stuNbr = "001";
StudentInfo stu2= new StudentInfo(); //创造该类的对象
为对象的属性赋值:
stu1.name = "李四";
stu1.stuNbr = "002";
首先声明引用变量(stu1),它可以引用Studentlnfo类型的对象。利用new运算符创建 StudentInfo。new是到现在为止最常用的创建对象的方法。
获取对象的属性:
System.out.printlt(stu.name);
构造方法
package day1;
public class costmer {
String id;
String name;
int age;
String sex;
String phone;
String addr;
public costmer (){} //一般要构造一个不含参数的构造方法
public costmer (String id,String name,int age,String sex,String phone,String addr){ //构造方法无需声明类型
this.id= id;
this.name= name;
this.age= age;
this.sex= sex;
this.phone= phone;
this.addr= addr;
}
}
通过方法所构造的对象
costmer c1 =new costmer(split1[0],split1[1],Integer.parseInt(split1[2]),split1[3],split1[4],split1[5]);
costmer c2 =new costmer(split2[0],split2[1],Integer.parseInt(split2[2]),split2[3],split2[4],split2[5]);
costmer c3 =new costmer(split3[0],split3[1],Integer.parseInt(split3[2]),split3[3],split3[4],split3[5]);
将类存入数组的两种方法
法1
costmer[] cs=new costmer[] {c1,c2,c3};
法2
costmer[] cs = new costmer[3];
t[0] = c1;
t[1] = c2;
t[2] =c3;
调用数组中类的属性
cs[0].name