1,for循环语句
for(初始化语句;条件表达式;控制体语句){
循环体语句
}
2,while语句格式
初始化语句;
do{
循环体语句;
控制体语句;
}while(条件表达式);
3,for循环语句和while循环语句的区别
共同点:都是循环的思想,目的是解决代码冗余的问题
不同点:for循环明确循环次数,while循环不明确循环次数
格式不同
for循环
4,switch语句后面的表达式可以跟四种基本数据类型(byte short,int,char)
jdk5以后可以跟枚举类型,jdk7以后可以跟String类型
5,注意事项:
1,switch中的case语句智能是常量
2,switch语句case语句中没有携带break,造成case穿透
3,switch语句的结束条件:
遇见break结束
程序默认执行到末尾
4,default语句可以在switch语句任意位置,不影响执行流程,当case语句没有匹配到结果时,执行defaule,default语句末尾,break可以省略的,如果是在语句中break不能省略,否则会造成穿透。
5,引用数据类型有数组,接口,类
6,for循环的嵌套
格式:for(初始化语句;条件表达式;控制体语句){
初始化语句;条件表达式;控制体语句){
循环体语句}
}
7,Math的随机数使用:与Scanner不同的是random不需要导包,代码格式为double number=Math.random();
如果要取1-100的整数可以(Math.random())*100+1
8,流程控制语句:
continue:结束本次循环进入下一次循环
break:结束循环体语句
return:1),从当前的方法中退出,返回到该调用的方法的语句处,继续执行;2),返回一个值给调用该方法的语句,返回值数据类型必须与方法的声明中返回值的类型一致,可以使用强制类型转换来使数据类型一致;return当方法说明中用viod声明返回值为空时,应使用这种格式,不返回任何值。
9,java中的方法:方法就是将某段逻辑代码使用{}包起来,给它起一个名字(标识符),如果需要用到这个方法的功能直接调用标识符.
10,定义格式:
有返回值类型的方法定义
public static 返回值类型 方法名(参数类型1 参数名,参数类型2,参数名2){
完成业务逻辑;
return;}
11,调用格式:赋值调用
返回值类型变量名=方法名(实际参数1,实际参数2)
12,没有具体返回值类型的方法定义
public static void 方法名(参数类型1 参数名称1,参数类型2 参数名称2){
完成业务逻辑判断
}
13,没有具体返回值类型的方法的调用采用的方法:单独调用
方法名(实际参数1,实际参数2)
14,方法重载的定义:方法名相同,参数列表不同,与返回值无关;
参数的个数不同;
参数的类型不同;
参数的顺序位置不同
作用,就是为了提供某个功能的扩展;
15,方法调用的步骤:
1先对变量初始化,要么键盘录入
2,调用方法,jvm就在当前的类中找是否有一个方法名add(),a,b两个实际参数分别是20,30
3,将实际参数赋值给形式参数a,b
4,将实际参数的结果赋值给形式参数后,进行计算,将具体的结果赋值给接受变量
5,返回结果,谁调用返还给谁
16,栈内存:存储局部变量用的这个内存区域
17,堆内存:new 出来的对象,存储在这个区域
18,方法区:字节码文件区域---方法调用过程需要加载类,里面存储很多方法,这些方法被调用,加载进占内存
static区域-----main方法就是被static修饰的
常量池-----常量都是在常量池
19,什么事数组,数组的定义格式有哪些
数组是一种容器,这种容器只能存储一种类型的元素
定义格式:数据类型[] 数字名称
int arr[](这种是定义了一个int类型的数组arr变量)
数据类型 数组名称[](这种是定义了一个int类型的arr数组变量)
数组的初始化方式:
动态初始化 数据类型[] 数组名称=new 数组类型[数组长度];
int[] arr=new int[3];
int arr[] new int[3];
静态初始化 数据类型[] 数组名称 =new 数据类型[]{元素1,元素2,...};
简写格式
数据类型[] 数组名称={元素1,元素2,...};
int []arr ={11,23,33};
创建数组时不能动静结合(不能动态初始化和静态初始化混合创建)
20, 方法中基本类型作为参数传递和引用数据类型作为参数传递的区别
基本数据类型传递参数时,实参传递给形参的是数值,所以不会引起实参的改变
当传递的实参是引用类型时传递的是实参的地址值,所以可能引起实参的改变
21, 面向对象的思想特点:
1)更符号生活中的思想行为习惯
2)让复杂的事情简单化
3)从执行者变成了指挥者
面向对象中的类,属性,对象:
类:是能够描述现实世界事物一组属性和行为的集合
属性:是现实世界事物的一种特性,比如学生有学号属性
对象:时间显示世界中的事物具体化,比如学生类中有一个叫张三的学生.
22,int[] arr=new int[2];完成了哪些事情?
1,在栈内存中,给int[] arr变量开辟栈内存空间
2,new int[2];在堆内存中申请空间
3,系统对数组的内容进行默认初始化,int类型的元素默认值0
4,系统默认初始化完毕,产生一个堆内存空间地址值
5,将堆内存空间地址值赋值给栈内存变量arr
6,栈内存变量arr指向堆内存空间地址
23查询一个数组元素的第一次出现的索引值,代码提现
public static int getIndex(){
int index=-1;
for(int x=0;x<arr.length;x++){
if(key==arr [ x]){
index=x;break;
}
}
return index;
}
24,冒泡排序,代码体现
public static void bubbleSort(){
for(int x=0;x<arr.length-1;x++){
for(int y=0;y<arr.length-1-x;y++){
if(arr[y]>arr[y+1]){
int temp=arr[y];
arr[y+1]=arr[y];
arr[y]=int temp;
}
}
}
}
25,遍历数组按[元素1,元素2,...]的形式打印,代码体现
public static void PrintArry(){
System.out.print("[");
for(int x=0;x<arr.length;x++){
if(x=arr.length-1){
System.out.println(arr[x]+"]");
}else{
System.out.print(arr[x]+" ,")
}
}
}
26 将数组逆序,代码体现
public static void GetArry(){ int temp=0; int x=0; for (x=0;x<arr1.length/2; x++) { temp = arr1[x]; arr1[x] = arr1[arr1.length - 1 - x]; arr1[arr1.length - 1 - x] = temp; } }
27,封装
封装就是将现实世界事物的属性隐藏了(加入一个关键字private),私有的,无法访问的,提高对数据的安全性(外界不能访问的),对外提供一个方法,公共的(public)访问方法(getXXX()/setXXX())
注意事项:以后在书写代码的时候,写一个类,描述真实存在的事物的属性的时候,需要属性全部加入private