ICode9

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

2022-7-14 第二小组 张鑫 学习笔记

2022-07-14 23:00:10  阅读:159  来源: 互联网

标签:14 num2 int 张鑫 System 2022 num1 println out


实训第七天 Java基础2

1.学习重点

1.字符串

2.包

3.键盘输入

4.多重if

5.数组

6.循环语句

7.简单计算器

2.学习心得

今天进一步对Java基础进行学习,关于字符串,包的命名规则以及循环语句的知识有了深入了解,今天还做了几个简单的小案例,还是那句话,听的好永远都不代表做的好,虽然感觉知识点已经理解的很清楚了,但自己做还是十分吃力的,尤其是做计算器的部分,还是经验太少了!接下来还要继续努力啊!

3.学习内容

字符串

Java中的字符串只能用双引
没有范围
除了基本数据类型,都是引用数据类型

String v1 = "张三";
System.out.println("早上好,"+v1+",吃饭了吗?");
包:

实质上就是文件夹,分门别类

包的命名规则:
1.尽量使用全小写
2.尽量不要出现_&123
3.一般情况下,使用站点名的逆序 www.baidu.com  
        包名:com.baidu.模块名
        包名:com.baidu.架构名
        根据实际情况com.baidu.模块、架构、功能.xxx
        .代表一级
工具:键盘输入
        Scanner in = new Scanner(System.in);
        //开始输入
        String s = in.next();
        System.out.println("你输入了:"+ s);
流程控制

if(条件表达式){ 要执行的语句 }

多重if

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

if...else if...else..

else 互斥的功能,一套结构中至多走一个
我们在写if...else if的时候,要注意条件的顺序
范围小的写前,范围大的写后
如果情况比较多,条件判断比较复杂,最后一种情况不建议直接写else

案例1:

请输入第一个整数:
请输入第二个整数:
需求:
  如果第一个数是8,并且第二个数是9,就打印两个数的和
  如果其中有一个是8,有一个是9,就打印两个数的差
  如果两个数既没有8,又没有9,就分别打印两个数

代码

Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
int num1 = sc.nextInt();
System.out.println("请输入第二个数:");
int num2 = sc.nextInt();
if(num1 == 8 && num2 == 9){
    System.out.println(num1+"+"+num2+"="+(num1+num2));
}else if(num1 == 8 || num2 == 8 || num1 == 9 || num2 == 9){
    System.out.println(num1+"-"+num2+"="+(num1-num2));
}else if(num1 != 8 && num1 != 9 && num2 !=8  && num2 != 9){
    System.out.println("两个数分别是:"+num1+","+num2);
    }
switch
Java里的switch只能判断如下数据类型
整型:byte,short,int
浮点型:无
字符型:char
字符串:string:jdk1.7以后的版本
枚举

switch结构清晰,简明扼要
break的作用
default的位置是灵活的
案例2
成绩管理系统
键盘输入成绩
如果成绩是60分:及格
如果成绩是85分:奖励你一台ipad
如果成绩是100分:奖励你一台十三香
其他情况:没有奖励
代码
Scanner sc = new Scanner(System.in);
System.out.println("请输入成绩:");
int score =sc.nextInt();
switch (score){
    case 60: 
    System.out.println("及格");
    break;
    case(85):
    System.out.println("奖励一台ipad");
    break;
    case(100):
    System.out.println("奖励一台十三香");
    break;
    default:
    System.out.println("没有奖励");
    }
数组

一旦声明,必须指定长度
一维数组

int []a1 ={1,2,3,4,5};
int a2[] ={1,2,3,4,5};
int []a2 =new int[5];
int []a3 =new int[]{1,2,3,4,5};
二维数组

开发中最多用到二维
访问数组元素通过下标(索引)
下标、索引从0开始

int [][]a4 =new int[5][];

数据类型的初始值

byte,short,int,long:0
float,double:0.0
char:空白(\u0000)
boolean:false
string:null
int[]:null

数组取值

System.out.println(a3[4]);

赋值

a3[4] = 100;

数组长度是属性,不是方法

System.out.println(a2.length);

当程序抛出异常时,出现异常位置后面的代码不会执行

案例3
创建一个数组[3]
通过键盘输入,给数组中的元素赋值..
不用循环
int []a =new int[3];
Scanner sc = new Scanner(System.in);
int i = 0;
System.out.println("请输入第一个数:");
a[i]= sc.nextInt();
i++;
System.out.println("请输入第二个数:");
a[i] = sc.nextInt();
i++;
System.out.println("请输入第三个数:");
a[i] = sc.nextInt();
System.out.println(a[0]+","+a[1]+","+a[2]);
for循环
for (int i =0;i<10;i++){
            System.out.println(i);
        }
案例4及代码
打印5*5矩形
执行流程
            1.i=0 外层的for循环启动
            2.执行外层的for循环的循环体
            3.走里层的for循环
            4.里层的for循环想要走完j=0---j=4打印了5次*号
            5.里层的for循环走完了之后,相当于外层循环的循环体执行完毕,也就是i=0的这次外层循环执行完毕,开始执行i++
            6.i=1 外层循环再次启动
            ....
            ....
            
        for (int i = 0;i < 5;i++){
            for (int j = 0;j < 5;j++){
                System.out.print("*");
            }
            //debug
            System.out.println();
        }
break 和 continue
for (int i = 1; i <100; i++) {
            //需求-数7
            //从0到100 尾数是7或者是7的倍数
            if (i % 7 == 0 || i % 10 == 7) {
                System.out.println(i);
        //跳出循环
            break;
        //终止当前此循环,开始下一次循环
            continue;
            }else{
                System.out.println(i);
            }
        }
循环的标签:goto goto功能
a:for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.println("j="+j);
                if (j == 3){
                    break a;
                    break和continue只能控制离他们最近的循环
                    continue;
                }
                System.out.println("hhh");
            }
foreach 增强for循环
使用for循环遍历数组
int [] arr = new int[]{12,45,76,89,-50};
遍历,把数组中的元素都操作一遍(访问一遍)
for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
foreach语句(增强for循环)遍历数据

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

for(int i:arr){
            //i就是数组中的元素
            System.out.println(i+1);
        }
while 和 do...while

do..while无论条件是否满足,循环至少执行一次.
while循环条件不满足,一次也不执行。

int i = 10;
    while(i<100){
    System.out.println(i);
    i++;
        }
//do...while
    do{
    System.out.println(i);
    i++;
    }while (i<20);
int[][] arr = new int[2][];
        arr[0]=new int[]{1,2,3,4,5};
        arr[1]=new int[]{-1,-2,-3,-4,-5};
        for (int[] ints :arr){
            for (int anINt :ints){
                System.out.print(anINt+"、");
            }
            System.out.println();
        }
简单计算器
Scanner sc = new Scanner(System.in);
        index:for (; ; ) {
            System.out.println("请输入第一个数:");
            double num1 = sc.nextDouble();
            n2:for(;;){
                System.out.println("请输入第二个数:");
                double num2 = sc.nextDouble();
                System.out.println("请输入运算符号:+-*/");
                String sep = sc.next();
                fh:for(;;){
                    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 fh;

                    }
                    c:for(;;){
                        System.out.println("是否继续计算:1.继续 2.退出");
                        String flag =sc.next();
                        switch (flag){
                            case "1":
                                continue index;
                            case "2":
                                System.out.println("计算器即将关闭,谢谢使用!");
                                break index;
                            default:
                                System.out.println("您输入的有误,请重新输入");
                                continue c;
                    }
                }
            }
            }
       }
猜数字
请输入一个数字:
20
数字保存成功,请猜猜数字是几
比较大小
如果大了就提示大了,如果小了就提示小了
知道猜到这个数,游戏停止
Scanner sc = new Scanner(System.in);
         System.out.println("请输入一个数字");
         double num =sc.nextDouble();
         System.out.println("猜数游戏即将开始");
         System.out.println("请猜猜数字是几?");
         a:while(true) {
             double guess = sc.nextDouble();
             if (guess > num) {
                 System.out.println("大了");
                 continue a;
             } else if (guess < num) {
                 System.out.println("小了");
                 continue a;
             } else {
                 System.out.println("猜对了!");
//                 break ;
                 //终止程序执行的方式
                 //0 代表安全退出
                 //-1强制退出
                 System.exit(status:0);

标签:14,num2,int,张鑫,System,2022,num1,println,out
来源: https://www.cnblogs.com/zxscj/p/16479678.html

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

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

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

ICode9版权所有