JAVA基础学习(三)
day4:
1、选择结构switch
switch:常用的选择结构,只能针对某个表达式的值做出判断,从而决定程序执行哪一段代码。
switch(表达式){
case 常量 1 :
要执行的语句;
break;
case 常量 2:
要执行的语句;
break;
case 常量 3 :
要执行的语句;
break;
case 常量 4 :
要执行的语句;
break;
default:
要执行的语句;
break;
}
注:JDK1.0 -1.4 数据类型接受 byte short int char
JDK1.5 数据类型接受 byte short int char enum(枚举)
JDK1.7 数据类型接受 byte short int char enum(枚举)String(若编译报错,请检查你的Java compiler是否为1.7或1.7以上)
case的穿透性:
1 public class main{ 2 public static void main(String[] args){ 3 int s = 17; 4 switch(s%2){ 5 case 0: 6 System.out.println(s +" 是偶数"); 7 break; 8 case 1: 9 System.out.println(s +" 是奇数"); 10 break; 11 default: 12 System.out.print("您的输入有误!"); 13 break; 14 } 15 } 16 }
程序代码执行结果:
1 public class test { 2 public static void main(String[] args) { 3 String s = "Amy"; 4 switch(s) { 5 case "Lisa": 6 case "Amy": 7 case "Nana": 8 case "Helen": 9 case "Vivian": 10 System.out.println(s +" 是女孩纸"); 11 break; 12 case "Peter": 13 case "Tom": 14 case "Lilei": 15 System.out.println(s +" 是男孩纸"); 16 break; 17 } 18 } 19 }
程序运行结果:
2、数组
- 数组:是指一组数据的集合,数组中的每个数据被称作元素。
注:在数组中可以存放任意类型的元素,但同一个数组里存放的元素类型必须一致。
- 数组的定义:
数据类型[ ] 数组名 = new 数据类型[元素个数或数组长度];
- 注:必须有数据类型,大小
- 数组的大小一旦确定,是定长的
- 数组地址是连续的
- 数组是引用类型,保存的数据实质上是内存中的地址,每次运行内存地址可能不一样
- 访问数组存储的元素,必须依赖于索引,公式: 数组名[索引]
- 数组一旦创建系统赋予默认值;整形 0,浮点型 0.0 字符型 一个空字符(空格),即‘\u0000’ ,布尔型 false ,引用数据类型 null,表示变量不引用任何对象
- Java提供一个操作索引的属性,数组的长度,length,使用属性:数组名.length 数组类型 int
数组的最小索引是0,最大索引是数组.length-1
- 数组的遍历:通过索引的方式,将数组中的每个元素,分别获取出来
循环来实现:
for 知道循环次数,计数器思想
while 不确定循环次数
- 数组操作中常见的两个异常:
数组的索引越界异常:编译成功,运行报错
空指针异常:数组的地址不再保存
数组中的最值思想:
遍历+比较+赋值
二维数组:数组中的数组,数组里面存储的还是数组
3、JVM的内存划分:
JVM对自己的内存进行了划分,分为5个区域:
寄存器:内存和CPU之间
本地方法栈:JVM调用了系统中的功能
方法和数据共享:运行时期,.class文件进入的地方
方法栈:所有的方法运行的时候,进入的内存
堆:存储的是容器和对象 数组是容器
4、随机点名器
1 public class test { 2 public static void main(String[] args) { 3 String[] className = {"胡歌","霍建华","邓伦","王祖贤","张敏","林青霞","袁洁莹","黎姿"}; 4 for(int i = 0;i<className.length;i++) { 5 System.out.println(className[i]); 6 } 7 System.out.println("************************"); 8 Random r = new Random(); 9 int index = r.nextInt(className.length); 10 System.out.println(className[index]); 11 } 12 }