ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-07-15 09:05:29  阅读:139  来源: 互联网

标签:num1 07 num2 int System 2022 14 println out


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有