Java学习笔记4
1 流程控制语句 switch
2 数组
3 随机点名器
=====================================================================
1 switch 语法
switch 只针对某个表达式的值做出判断,从而决定程序执行哪一段代码。
语法: switch (表达式){
case 1:
执行语句;
break;
case 2:
执行语句;
break;
default :
执行语句;
break;
}
import java.util.*; public class SwitchDemo{ public static void main(String [] args){ /* switch (表达式){ case 1: 执行语句1; break; case 2: 执行语句2; break; case 3: 执行语句3; break; }*/ System.out.println("请输入:"); Scanner sc = new Scanner(System.in); int week = sc.nextInt(); switch (week){ //()内可以且只能为byte ,int,char,short型数据,不能是浮点类型和long型 case 1: //case后面的值时与表达式类型相同的常量,每个case后的值应该各不相同 System.out.println("星期一"); break; //break必须有,如果没有的话,当执行玩第一个匹配的case后的语句后会继续执行其他case后的语句块,不管是否匹配 case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: System.out.println("输入的星期不存在"); } } }
2 数组是什么
2.1数组是一组数据的集合, 数组中每一个数据称为元素 存放任意类型的数据, 但是同一个数组只能存放一种类型
2.2 数组的创建
1 public class ArrayTest{ 2 public static void main(String[] args){ 3 int[] arr1=new int[3]; //第一种创建数组语句,数组中的元素默认为0 4 char[] arr2=new char[]{'a','b','c'};//第二种创建数组方式 5 String[] arr3={"asdfa","adfa","asdfa"}//第三种创建数组的方式 6 } 7 }
2.3数组通过下标来读取元素,下标从0开始,数组的长度就是数组内元素的个数,可以通过数组名.length来获得数组的长度
3 一维数组 数组遍历 数组通过下标来读取数据,遍历数组,通过循环来遍历数组。
public class ArrayDemo{ public static void main(String [] args){ int[] arr = {1,5,3,6,88}; //通过循环来遍历数组 for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+" "); } } }
4数组的最值
定义数组第一个值arr[0]为最大值,循环arr数组,判断如果有比arr[0]大的值交换,直到arr数组遍历完毕那么arr[0]就保存了最大值
public class ArrayDemo1{ public static void main(String [] args){ int[] arr = {1,5,6,7,9,48}; int max = arr[0]; for(int i=0;i<arr.length;i++){ //System.out.print(arr[i]+" "); if(max<arr[i]){ max = arr[i]; } } System.out.println(max); } }
5 二维数组
二位数组创建方式:
int[][] arr1=new int[3][4];
int[][] arr1=new int[][]{{1,2,3},{4,5,6},{7,8,9}};
int[][] arr1={{1,2,3},{4,5,6},{7,8,9}};
public class ArrayArrayDemo{ public static void main(String [] args){ int [][] arr= {{12,58},{56,78,41},{0}}; //System.out.println(arr[1][1]); for(int i =0;i<arr.length;i++){ //二维数组是一个数组里面放了三个数组的内存地址,然后遍历时根据地址选择内部数组 for(int j=0;j<arr[i].length;j++){ //遍历内部数组并打印其元素 System.out.print(arr[i][j]+" "); } System.out.println(); //换行,每打印完一个内部数组,就换一行打印下一个内部数组; } } }
二维数组求和练习
public class Task7{ public static void main(String [] args){ //建立一个长度为4的二维数组 int [][] arr = new int[4][]; arr[0] = new int[]{22,66,44}; arr[1] = new int[]{77,33,88}; arr[2] = new int[]{25,45,65}; arr[3] = new int[]{11,66,99}; int sum = 0; for(int i =0;i<arr.length;i++){ int group = 0; for(int j=0;j<arr[i].length;j++){ group = group + arr[i][j]; } sum = sum +group; } System.out.println("公司总年销售额:"+sum); } }
6 随机点名器
import java.util.*; public class DianMing { public static void main (String [] args){ System.out.println("随机点名"); String arr[] ={"鲁班","韩信","孙悟空","赵云","李白","王昭君"}; for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+" "); } System.out.println(); System.out.println("========================================="); Random ra = new Random(); int index = ra.nextInt(arr.length); System.out.println(arr[index]); } }