其他分享
首页 > 其他分享> > 2022-07-14 第二组 卢睿 学习心得

2022-07-14 第二组 卢睿 学习心得

作者:互联网

java

今日学习心得:

今天主要学习了java判断里的if,switch,循环里的for循环以及增强for循环,还有一维数组,二维数组等,感觉没点基础真不好跟上,对增强for循环有了新的理解,

重点

if
if...else
switch...case
for循环,foreach 顺口溜:外部循环走一步,内部循环走一圈
数组:一维数组,二维数组
用循环遍历数组

引用数据类型

String是java开发工具包里自带的
java中的字符串只能用双引号
没有范围
除了基本数据类型,都是引用数据类型

包实际上就是文件夹
包的命名规则

  1. 尽量使用全小写字母
  2. 包名尽量不要出现 _ $ 数字
  3. 一般情况下,使用站点名的逆序 www.baidu.com ---> 包名com.baidu
    com.baidu.模块名;combaidu.架构名;根据实际情况com.baidu.模块.架构.功能.xxxx

键盘输入

public class Ch02 {
    public static void main(String[] args) {
        // 构建一个工具,键盘输入
        Scanner in = new Scanner(System.in);
        //开始输入
        String str = in.next();
        System.out.println("你输入了" + str);
    }
}

小练习
我自己的版本

package com.morning;
import java.util.Scanner;

public class Ch03 {
    public static void main(String[] args) {
        //流程控制
        /*
         *请输入第一个整数:
         * xxxxx
         * 请输入第二个整数:
         * xxxxxx
         * 如果第一个数是8,第二个数是9,就打印两个数的和
         * 如果其中有一个是8,有一个是9,就打印两个数的差
         * 如果两个数中既没有8也没有9,就分别打印两个数
         */
        Scanner in = new Scanner(System.in);
        System.out.println("请输入a:");
        int a = in.nextInt();

        System.out.println("请输入b:");
        int b = in.nextInt();
        if (a == 8 && b == 9){
            System.out.println(a+b);
        }else if(a == 8 || a == 9 && b == 8 || b == 9){
            System.out.println(a-b);
        }else{
            System.out.println("a=" + a +";" + "b=" + b);

        }
    }
}

老师的版本,和我的有些区别

package com.morning;
import java.util.Scanner;

public class Ch03 {
    public static void main(String[] args) {
        while(true){
            Scanner in = new Scanner(System.in);
            System.out.println("请输入第一个数:");
            int num1 = in.nextInt();

            System.out.println("请输入第二个数:");
            int num2 = in.nextInt();
            if (num1 == 8 && num2 == 9){
                System.out.println(num1 + "+" + num2 + "=" + (num1+num2));
            }else if(num1 == 8 || num1 == 9 || num2 == 8 || num2 == 9){
                System.out.println(num1 + "-" + num2 + "=" + (num1-num2));
            }else if (num1 != 8 && num1 != 9 && num2 != 8 && num2 != 9){
                System.out.println("两个数分别为:" + num1 + "," + num2);
            }
        }

    }
}

多重if

每个if之间没有联系,这些if有可能都执行

if...else if

else是互斥,一套结构中至多走一次
在写if...else if的时候,要注意条件的顺序
如果情况比较多,条件判断比较复杂,最后一种情况不建议写else
最后面必须有200%的把握,可以写else,否则还是写else if

java中的switch

只能判断如下数据类型:
整型:int,short,byte
字符型:char
String:必须在jdk7以后的版本,包括7
枚举:要就JDk5以后的版本,包括5

switch结构清晰,简明扼要
不要强行用switch

break的作用
default的位置是灵活的,别乱放

小练习

package com.morning;
import java.util.Scanner;
public class Ch04 {
    public static void main(String[] args) {
        /*
         *成绩管理系统
         * 键盘键入成绩
         * 如果成绩是60分,及格
         * 如果成绩是85分,奖励你一台iPad
         * 如果成绩是100分,奖励你一台十三香promax
         * 其他情况,没有奖励
         */
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的成绩:");
        int cj = sc.nextInt();
        switch (cj){
            case 65:
                System.out.println("及格");
                break;
            case 85:
                System.out.println("奖励你一台iPad");
                break;
            case 100:
                System.out.println("奖励你一台十三香promax");
                break;
            default:
                System.out.println("没有奖励");
        }
    }
}

数组

数组一旦声明,必须指定长度
访问数组元素通过下标(索引)从0开始
数组的长度是属性,不是方法

声明方式
int [] a1 = {1,2,3,4,5};  //(不建议写这一种)  
int [] a2 = new int[5];  
int [] a3 = new int[]{1,2,3,4,5};
数据类型的初始值

byte,short,int,long的初始值是0
double,float的初始值是0.0
char:\u0000 --> " "
boolean: false
String: null
int []: null

二维数组
int [][] a2 = new int[5][];

开发中最多用到二维

当程序出现异常时,出现异常的后面的代码不会运行


循环

for循环

初始化条件(实际上可以是任意类型,只不过大部分我们使用的是int)
判断条件
循环体
循环条件

package com.afternoon;

public class Ch01 {
    public static void main(String[] args) {
        for (int i = 0;i < 10;i++){
            System.out.println("i=" + i);

        }
    }
}

debug
打断点,可以一步步往下走

break

跳出循环

continue

终止当前次循环,开启下一次循环

循环的标签

goto功能或goto语法

foreach

增强for循环

使用for循环遍历数组

把数组中的元素通过:镜像给i
我们操作的不是原始数据,我们操作的是镜像数据
foreach的操作更加安全,不影响原始数据
foreach是JDK5以后才有的

案例
案例1 小型计算机器
package com.afternoon;
import java.util.Scanner;
public class Calculate {
    public static void main(String[] args) {
        /*
        从键盘输入两个数字和一个符号
        实现加减乘除
        打印输出结果
        注意:
        1.除数不能为0
        2.符号输入不对怎么办
        3.计算器能不能一直算下去
         */
        Scanner sc = new Scanner(System.in);
            n4:for (;;){
            System.out.println("请输入第一个数:");
            double num1 = sc.nextDouble();
            n2:for (;;){
                System.out.println("请输入第二个数:");
                double num2 = sc.nextDouble();
                n3:for (;;){
                    System.out.println("请输入运算符号:+-*/");
                    String sep = sc.next();
                    switch (sep){
                        case "+":
                            System.out.println(num1 + sep + num2 + "=" + (num1+num2));
                            break;
                        case "-":
                            System.out.println(num1 + sep + num2 + "=" + (num1-num2));
                            break;
                        case "*":
                            System.out.println(num1 + sep + num2 + "=" + (num1*num2));
                            break;
                        case "/":
                            if (num2 == 0){
                                System.out.println("除数不能为0");
                                continue n2;
                            }else{
                                System.out.println(num1 + sep + num2 + "=" + (num1/num2));
                            }
                            break;
                        default:
                            System.out.println("符号输入不对,请重新输入");
                            continue n3;
                    }
                    n5:for (;;){
                        System.out.println("继续请输入1,结束请输入2");
                        String flag = sc.next();
                        switch (flag){
                            case "1":
                                continue n4;
                                //继续计算
                            case "2":
                                //退出计算
                                System.out.println("计算器即将退出,谢谢使用");
                                break n4;
                            default:
                                continue n5;
                        }
                    }
                }
            }
        }
    }
}
案例2 猜数字
package com.afternoon;
import java.util.Scanner;
public class Guess {
    public static void main(String[] args) {
            /*
        猜数字小游戏
        键盘输入一个用一个变量存起来
        猜一猜输入的是什么
     */
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数:");
        int a = sc.nextInt();
        System.out.println("数字保存成功,请猜猜数字是几");
        for (;;){
            System.out.println("请输入数字");
            int b = sc.nextInt();
            if (b>a){
                System.out.println("大了");
                continue;
            }else if (b<a){
                System.out.println("小了");
                continue;
            }else if (b == a){
                System.out.println("猜对了");
                break;
            }
        }
    }
}

终止程序的方法
安全退出:System.out(0);
强制退出:System.out(-1);

二维数组的遍历

普通for循环
package com.afternoon;

public class Ch07 {
    public static void main(String[] args) {
        int [][]arr = new int[2][];
        arr[0] = new int []{1,2,3,4};
        arr[1] = new int []{-1,-2,-3,-4,-5};
        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();
        }
    }
}
增强for循环
package com.afternoon;

public class Ch07 {
    public static void main(String[] args) {
        int [][]arr = new int[2][];
        arr[0] = new int []{1,2,3,4};
        arr[1] = new int []{-1,-2,-3,-4,-5};
        for (int[] ints : arr){
            for (int anInt : ints){
                System.out.print(anInt+",");
            }
            System.out.println();
        }
    }
}

for循环顺口溜:外层循环走一步,内层循环走一圈

标签:num1,07,num2,int,System,2022,14,println,out
来源: https://www.cnblogs.com/lurui711/p/16480052.html