weekend2

JAVA中的选择结构switch

switch语句使用格式

switch(表达式或者某个变量值){case 值 :语句1;break ;case 值:语句2:break ;...default:语句n;break ;
}

注意

1、switch语句接受后和case后面的值进行对比,若满足则执行对应的语句,然后有break的话执行break退出循环。若case都不满足则执行default。

2、case语句后面只能跟常量

3、case语句里面break必须携带的,遇见break语句,switch结束 如果没有写break,会造成case穿透 4、default语句可以在语句中的任何位置,不影响执行流程 如果在语句中,default必须带上break 5、如果在语句末尾,default的break是可以省略的

用星期实例

System.out.println("请输入一个星期(1-7的数据): ") ;
int week = sc.nextInt() ;switch (week){ case 1: System.out.println("星期一") ;break ; 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("非法数据") ; break ; }

JAVA中的循环结构for

明确循环次数的循环推荐使用for循环

格式

for(初始化语句;条件表达式;控制体语句或者步长语句){         循环体语句; }

循环流程

1) 初始化语句:给变量赋值 (只执行一次) 2)然后执行条件表达式,看其是否成立,如果成立,执行的是循环体语句------>再次回到控制体语句或者步长语句 3)再次执行条件表达式,是否成立,成立,继续循环体语句---->再次回到控制体语句或者步长语句 4)一直执行到条件表达式不成立,for循环结束

最常用的for循环格式

for(int i=0;i

用for方法对1-10求和

        //定义一个结果变量int sum = 0 ;for(int x = 1 ; x <=10 ; x ++) {// 1-10之间的数据//x的取整:1,2....10.每次循环都将当次的x与sum相加并赋值给sumsum += x ; //sum = sum + x ;

利用for循环求水仙花数

水仙花数:满足3位数,每一个位的数据的立方和相加是这个数据本身
//三位数,从100开始。不超过1000,每次+1不断循环
for(int x = 100 ; x <=999; x++){// 3)确定每各位的数据本身int ge  =  x %10 ;int shi = x /10 % 10;int bai = x /10/10 %10 ;//判断if(x==(ge*ge*ge+shi*shi*shi+bai*bai*bai)){//满足条件则为水仙花数count ++;System.out.println("第"+count+"次,"+"水仙花数是:"+x);}}

JAVA中的跳转控制语句

break:中断结束(结束循环或者switch)
break:不能单独使用,只能在循环中或者switch中用
continue:只是结束当前循环,继续立即进入下次循环(在循环语句中使用)
return:结束方法的 (结束有具体返回值的方法)

while循环

while循环的格式初始化语句;while(条件表达式){循环体语句 ;控制体语句或者步长语句;}

while循环执行流程

首先,先初始化语句,对变量赋值;
执行条件表达式,是否成立;成立,则执行循环体语句,依次控制体语句进行变量控制--->再次判断条件表达式是否成立,成立,执行循环体语句--->控制体语句进行变量控制
...
当条件表达式不成立,while循环结束;
注意事项:控制体语句不要忘了,否则死循环;
//输出五次我爱学习Java
int j = 1;while(j<=5){System.out.println("我爱学习Java");//控制体语句j ++ ;}

do---while循环

格式
初始化语句;
do{循环体语句 ;控制体语句 ;
}while(条件表达式)

do----while循环语句和while,for循环最大的区别:当条件不成立的,循环体至少执行一次(先执行一遍循环再进行判断)

JAVA中的死循环

死循环的两种格式第一个格式for(;;){循环体语句;}第二个格式:while(true){   //死循环格式中使用比较多循环体语句;}

获取随机数

快速使用:Math.random()---获取一个随机数
获取伪随机数,取值范围:[0.0,1.0)
double number = Math.random();

for循环的嵌套

for(初始化语句1;条件表达式1;控制体语句1){//循环体就是for循环语句for(初始化语句2;条件表达式2;控制体语句2){循环体语句;,,,}}
for(int i =0 ; i < 4 ; i++){//i=0,1,2,3             控制行//i=0,第一次循环 0 < 4 ,i++,--->i=1, 1< 4,i++--->,i=2,2<4//控制列数for(int x = 0 ; x < 5 ; x ++){ // x= 0, 0 < 5 ,x++,--->1,1<5,x++,--->2,2<5,x++--->3 ,3<5,x++-->4,4<5,x++--->5,5<5//x=0,System.out.print("*");//*****//*****//...}System.out.println();  //换行}

利用for循环嵌套输出9*9乘法表

for(int x = 1 ; x <= 9 ; x++){ //9行列for(int y = 1 ; y<=x ; y ++){//列数随着x的变化而变化//Java中 转移字符 "\t"---->制表符 相当于tab 缩进空格System.out.print(x +"*"+y+"="+(y*x)+"\t");//1*1=1//2*1=2  2*2=4//3*1=3  3*2=6  3*3=9//}System.out.println();//换行}

JAVA的方法

在Java中,使用{}代码块,将我们的业务逻辑进行实现,给{}起一个名字,就是方法;

有返回值的方法定义

public static 返回值类型  方法名(形式参数类型1 参数名1,形式参数类型2 参数名3....){//业务逻辑进行实现:举例:完成两个数据比较,获取最大值return 具体的结果;}

注意:方法的定义要在main方法外

在定义完方法后一定要调用

1)方法和方法是平级关系,不能够在一个方法中定义另一个方法,只能在一个方法中调用另一个方法

2)在定义方法的时候,方法中的形式参数必须带上数据类型,因为Java是一个强类型语言;

3)调用方法的时候,实际参数不需要带数据类型;

4)在定义方法的时候,有{的地方不能分号;,有分号;的地方不能{

5)有具体返回值类型的方法,必须携带return,否则报错;

//定义方法求两个数据的和
public static int  add(int a,int b){//方法的业务逻辑:求和的方法,  两个数据//return  a +b ; //直接返回a+b的结果//将a和b的结果赋值给一个变量int result = a +b ;return result  ;}

没有返回值的方法定义

public static void 方法名(形式参数类型1 参数名称1,形式参数类型2 参数 名2,....){ } 调用格式: 单独调用
public static void getMax(int a,int b){//完成逻辑判断//举例if(a>b){System.out.println(a+"是最大值");}else{System.out.println(b+"是最大值");}}

调用方法:直接方法名(参数);

方法的重载

方法重载:为了某个功能扩展性,多个方法方法名可以相同(完全相同),参数列表不同,与 返回值无关

JAVA的数组

Java中数组就是容器,这个容器  "只能存储同一种类型的元素"
*      在数组中定义格式
*              动态初始化和静态初始化
*
*              动态初始化:自己定义数组的长度,数组的元素有系统(jvm)默认分配
*             
*              格式:
*                  数据类型[] 数组名称  = new 数据类型[数组长度] ; 
*                  数据类型 数组名称[]  = new 数据类型[数组长度] ;
*              静态初始化:直接我们自己给定的了元素内容,数组的长度由系统默认分配
*                  数据类型[] 数组对象名 = new 数据类型[]{元素1,元素2,元素3.....} ;
*                  数据类型 数组对象名[] = new 数据类型[]{元素1,元素2,元素3.....} ;
*                  举例
*                      int[] arr      = new  int[3] ;
*                      int arr[]      = new  int[3] ;
*                      int[] arr = new int[]{1,2,3} ;
*                      int arr[] = new int[]{1,2,3} ;
//创建一个数组,动态初始化//数据类型[] 数组名称  = new 数据类型[数组长度] ; int[] arr = new int[3] ;//=左边://int:这个数组中元素类型int//[]:一维数组//arr:数组的对象名称 arr 变量名 ,定义的时候,见名知意//=右边//new: 在java内存中:在堆内存中开辟内存空间 (创建对象)//int: 创建的对象在堆内存中,存储的int类型//[3]: 表示数组中存储3个长度
在数组中有一个特有的属性:length 数组名称.length:获取数组长度 数组中的最大索引值: 数组名称.length-1

数组的基本应用


public static int getArrayMin(int[] arr){//定义一个参照物 是最小值int min = arr[0] ;//从角标1开始遍历数组for (int i = 1; i < arr.length; i++) {//判断//如果后面的元素比min还小,后面的元素是最小值if(arr[i] < min){min = arr[i] ;}}return  min ;}public static int getArrayMax(int[] arr){//1)定义参照物int max  = arr[0] ;//2)从角标1开始遍历数组,获取每一个元素for(int x = 1 ; x < arr.length ; x ++){//判断if(arr[x] > max){//将后面的元素赋值给maxmax = arr[x] ;}}return  max ;}

给定一个数组,快速获取数组中的某个元素:数组名称[索引值](需要在main中调用方法)
public class ArrayDemo2 {public static void main(String[] args) {//键盘录入一个数据Scanner sc = new Scanner(System.in) ;//提示并录入数据System.out.println("请您输入一个数字(0-6):") ;int num = sc.nextInt() ;//已知字符串数组--->里面存储 了一些元素String[] strArray = {"星期一","星期二","星期三","星期四","星期五","星期六","星期日"} ;System.out.println("你查询的星期是:"+strArray[num]) ;}

已知一个数组,静态初始化了,查询数组中某个元素的索引值;(需要在main中调用方法)
public static int getIndex(int[] array,int target){//array:传递一个数组,target:查询目标元素//遍历数组,获取所有元素for(int x = 0 ; x < array.length; x++){//array[x]:每一个元素就可以获取到//判断//如果array[x] 和target 相等,就找到了,x返回if(target == array[x]){//考虑找到的情况return  x ;}}//查询数组:找不到元素,返回负数  -1return  -1 ;}
将数组进行逆序(需要在main中调用方法)
public static void reverseArray(int[] arr) {for(int x = 0; x < arr.length/2 ; x++){//x=0 ,第一个角标//定义一个中间变量int temp = arr[x] ; //arr[0]//arr[0] = arr[arr.length-1-0]arr[x] = arr[arr.length-1-x] ;//arr[arr.length-1-0] = arr[0]arr[arr.length-1-x] = temp ;}}

将数组遍历输出(需要在main中调用方法)

public static void printArray(int[] array){System.out.print("[");//遍历数组for(int x = 0 ; x < array.length ; x ++){//如果x角标==array.length-1 ,最大索引值,它对应的元素就是最后一个元素if(x==array.length-1){//输出最后元素和右]System.out.println(array[x]+"]");}else{//中间元素以及", "System.out.print(array[x]+", ");}}}

对数组冒泡排序(需要在main中调用方法)

public static void bubbleSort(int[] arr){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] = arr[y+1] ;arr[y+1] = temp ;}}}}//遍历数组,打印元素public static void printArray(int[] arr){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]+", ");}}}

JAVA中的类

类,是能够描述现实世界事物一组属性和行为的集合;需要定义类描述这个事物 ,Java中最基本单元就是类
class 类名{   //类名:满足标识符的规范: 见名知意}
Java中定义类***                 class  Student{*                      //成员变量--->学事物的属性   姓名,性别, 年龄 等等.*                      String name ; //String 字符串类型   姓名*                      String gender ; // 性别*                      int age  ;*                 }//成员方法
public void study(){System.out.println("Good Good Study ,Day Day Up");}

码中体现创建这个类对象   :创建具体的对象的格式类名 对象名  = new 类名();
//学生类
public class Student {//成员变量------学生事物的属性   (类中,方法外)String name ; // 学生的姓名int age ; // 学生的年龄String gender ; //学生的性别//成员方法----学生事物的行为: 行为:学习,玩游戏,抽烟...//去掉static//学习public void study(){System.out.println("正在学习JavaEE") ;}//玩游戏:public void playGame(String gameName){ //玩什么游戏   "csGo" "吃鸡"System.out.println("喜欢玩"+gameName);}//抽烟public void smoke(String somkeBrand){ //抽烟的类型 "华子"...System.out.println("喜欢抽"+somkeBrand) ;}
}//测试类(main方法中)
public class StudentTest {public static void main(String[] args) {//测试学生类// 高圆圆,25,女 :具体的学生//创建学生// 类对象//类名 对象名  = new 类名();  //按照格式写Student s = new Student() ;  // 之前写数据 :int[] arr = new int[2] ; arr----地址值System.out.println(s) ; //s的类型 Student类型 :com.qf.oop_02.Student@1540e19d  当前类的地址值 "包名.类名@十进制数据"System.out.println(s.name+"---"+s.age+"---"+s.gender);//对象名.成员变量名 = 赋值;//成员变量赋值s.name = "高圆圆" ;s.age = 25 ;s.gender = "女" ;System.out.println("这个学生的姓名是:"+s.name+",年龄是:"+s.age+",性别是:"+s.gender);//访问学生的有哪些行为// 对象名.成员方法名();  //调用成员方法s.study();s.playGame("csGo") ;s.smoke("云烟");}
}

封装

封装:
*              就是将显示世界事物的属性隐藏了(加入一个关键字private),
*              私有的,无法直接访问的,对外数据的安全性!(外界不能访问的)
*              对外提供一个方法,公共的(public)访问方法(setXXX()/getXXX())
1)被private修饰的成员变量以及成员方法只能在本类中访问* 2)可以修饰成员变量也可以成员方法,就是为了外界不能直接访问** 3)被private修饰的成员变量/成员方法可以间接的通过通过的方法访问;


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部