从键盘获取不同类型的变量:需要使用Scanner类
具体实现步骤:
1.导包:import java.util.Scanner;
2.Scanner的实例化:Scanner sc = new Scanner(System.in)
3.调用Scannerd类的相关方法,来获取指定类型的变量
int型获取:int num = sc.nextInt();
string型获取:String num = sc.next();
对于char型的获取,Scanner没有提供相应的方法,只能获取一个字符串
char a = a.charAt(0)//获取索引为0位置上的字符
switchcase结构:根据switch表达式中的值,依次匹配各个case中的常量,一旦匹配成功,则进入到相应case结构中,调用其执行语句,当调用完执行语句后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此结构末尾结束为止。若要实现多选一,必须每个case后加break。
switch结构中的表达式只能是如下六种数据类型之一:byte,short,char,int,枚举类型,string
case后只能声明常量,不能声明范围。
switch(number){
case 0:
case 1:
default:
break;}
do-while说明:至少会执行一次循环体
do{
}while()
不确定实现次数,while(true)
带标签的break和continue:
label:for(){
for(){
continue label;//结束指定标识的一层循环结构当次循环
break label;//结束指定标识的一层循环结构
数组的特点:
1.数组是有序排列的
2.数组属于引用数据类型的变量,数组的元素,既可以是基本数据类型,也可以是引用数据类型
3.创建数组对象会在内存中开辟一整块连续的空间
4.数组的长度一旦确定就不能更改
int []ids;//声明
ids = new int[]{1001,1002,1003,1004};//静态初始化:数组的初始化和数组元素的赋值操作同时进行
string[] names = new string[5]//动态初始化:数组的初始化和数组元素的赋值操作分开进行
获取数组的长度:string.length
遍历数组:for(int i = 0;i < names.length;i++)
数组元素的默认初始化值:
数组元素是整型:0
浮点型:0.0
char型:0或'u0000'
布尔型:false
引用数据类型:null
二维数组初始化:
静态初始化:int[][] arr1 = new int[][]{{1,2,3},{4,5}};
动态初始化:string[][] arr2 = new string[3][2]
动态初始化:string[][] arr3 = new String[3][]
也是正确的写法:
int[] arr4[] = new int[][]{{1,2,3},{4,5}}
int[] arr5[] = {{1,2,3},{4,5}}
获取数组的长度:arr.length
遍历二维数组:
for(int i = 0;i
for(int j = 0;i
System.out.println(arr4[i][j] + " ");
}
System.out.println(" ")
}
二维数组元素的默认初始化值:
针对于int[][] arr = new int[4][3],外层元素的初始值为:地址值,内层元素的初始化值为:与一维数组初始化情况相同
针对于int[][] arr = new int[4][],外层元素初始化值为null,内层元素初始化值为:不能调用,否则报错
Math.random():[0.0,1)
(int)(Math.random()*90):[0.89]
(int)(Math.random()*90+10):[10,99]
Math.round(double d):四舍五入
int[] arr1,arr2;
arr1 = new int[]{1,2,3}
arr2 = arr1//将arr1的地址赋值给了arr2,所以当arr2值改变时,arr1也改变,实现了数组的赋值
arr2[i] = arr1[i]//真正实现了数组的复制;
数组反转:reverse(arr,arr.length)
比较两个常量时如果是int可以用==,如果是字符串用.equals(),比较内容。



