第一周总结(基础)

这篇博客总结了实训第一周的Java基础知识,包括Java的注释、基本语法、关键字、标识符、数据类型、变量、常量、类型转换、算术运算符、赋值运算符、比较运算符、逻辑运算符、三元运算符等内容,通过实例展示了如何使用这些概念。还介绍了Scanner类用于接收键盘输入,并讲解了if语句、多重if、嵌套if、switch语句的使用,以及循环结构(while、do...while、for)的执行流程和应用。
摘要由CSDN通过智能技术生成

                                    实训第一周 Java基础

7月28日

package week1;
/**
  多
  行
  注
  释
 **/
//单行注释
// 不加注释的程序员不是好程序员
/**
 java的基本语法:
 1.类名必须和文件名一致
 2.public:访问修饰符(一个文件只能有一个public修饰的类)
 3.class:定义类的关键字
 4.类名:首字母大写,驼峰式命名法,每个单词的首字母大写,不要使用拼音、中文。
 5.main方法是java程序的入口,需要执行的代码必须放到main方法下 ,
 目前javaSE经常使用,以后javaEE用的不多。
 6.java区分大小写。
 7.java方法由一条条语句构成,以;结束。
 8.大括号都是成对出现的。
 9.一个java文件可以定义多个类,但数只能有一个类名的访问修饰权限为public
 
 什么是关键字?
 java给我们定义一些特殊单词,每个关键字都有自己独特的功能。
 用于定义数据类型的关键字
class    interface    enum    byte    short
int    long    float    double    char
boolean    void            
用于定义数据类型值的关键字
true    false    null        
用于定义流程控制的关键字
if    else    switch    case    default
while    do    for    break    continue
return                
 1.全是小写。
 2.关键字不能当作普通的标识符。
 
 什么是标识符?
 自定义的类,方法名,包名,变量名,接口名。。叫标识符。
1.字母,数字,下划线_ $。
2.不能以数字开头。
3.不能是关键字,或者包含特殊字符。
4.定义方法名和变量名第一个单、首字母小写后面的单词首字母大写,驼峰式命名法,如果定义常量,全部大写。

什么是常量?
程序运行期间,值固定不变的量。 

什么是变量?
在内容中的一块区域,变量的值可以在某一体格范围发生改变

怎么定义变量?
变量类型 变量名; int num;
变量类型 变量名 = 对应的变量值; int number = 10;
变量的类型有哪些?
基本数据类型:
整数 byte short int long 常用的是int
小数 double float 常用的是double
布尔 boolean 常用在逻辑运算
字符char

引用数据类型:数组java定义的类 自己定义的类 接口。。。。

变量的分类
(1)成员变量:定义在类的内部,方法之外,可以在当前类的内部使用
(2)局部变量:定义在方法内部,只能在当前方法使用
 
 **/

public class _728 {
    //成员变量
    static int num =10;//在静态方法里面只能调用静态变量或静态方法
    int num2 = 11;
    public static void main(String[] args){
        int a =1;
        System.out.println(a+"哈哈哈");
        System.out.println(num);
    //    System.out.println(num2"); //这句有错误,调用非静态变量失败;
    }

}

7月29日

package week1;
import java.util.*;
public class _729 {
    public static void main(String[] args){
        /**
         *java的基本数据类型:
         *八种 byte short int long float double char boolean
         *java是强类型语言,js是弱类型语言
         */    
    //1.整数:
        // byte -128 - 127
        byte b = 120;
        // byte c =129; 错误 超出范围
        //    long 如果要定义long类型,后面必须加上L或l。
        long a =100l;
        // int(常用)
        // short 范围不同用法一样。
    //2.小数:
        //double(常用)
        double f1 = 10.5;
        //float 定义float类后面必须加f或F
        float x =15.5f;
    //3.字符类型
        //char 后面的值必须用''
        char c = 'i';
    //4.boolean 只有 true false
        boolean t =true;
        boolean f = false;

        /**
         * 类型转换
         * 1.自动类型转换:把小的放到大的里面
         * 2.强制类型转换:把大的放到小的里面
         * 3.把字符串类型转换成其他数据类型(使用对应包装类的parsexxx()方法)
         */
    //1.自动类型转换
        short s=10;
        int k =s;
    //2.强制类型转换
        int n1=10;
        short n2 =(short)n1;
    //3.字符串转其他,前提是符合转换格式(不含中文和字母)
        String str="123";
        //每一个基本数据类型都有自己对应的包装类,每个包装类里面都封装了对应的转换方法
        //Integer是int类型的包装类
        int p =Integer.parseInt(str);
        double r =Double.parseDouble(str);
    //3.其他转字符串
        //第一种 直接在后面加一个字符串
        int a1 =12;
        String a2 = a1+"";
        //第二种找方法
        int b1 = 154;
        String b2 =String.valueOf(b1); 
        
        
    //换行
        System.out.println("天干物燥\n小心火烛");
        
    /**
     * 算术运算符
     * +
     * -
     * *
     * /
     * %
     * 
     * 1.自增运算 ++  在原有的基础上,累加1(涨一个数)
     * 2.自减运算 --  在原有的基础上,累减1(降一个数)
     * 
     * 使用格式:
     * 可以在变量前面使用++  ++num
     * 可以在变量后面使用++  num++
     * 
     * 前后有啥区别?
     * 1.如果单独使用的话,没有任何区别
     * 2.混合使用
     * (1).如果是后++,先使用变量的值,然后在+1,先用后加
     * (2),如果是前++,变量的值会立马+1,如果拿着累加的值进行使用,先加后用
     * 
     *
     */        
    /**
     *  赋值运算符:就是把右边的值赋值给左边的变量
     *  =:不是相等的意思,
     *  +=: a=a+b;可以简写成a+=b,
     *  -=
     *  *=
     *  /=
     *  %=
     *
     */    
    /**
     * 比较运算符:比较两个变量值  只是针对于基本数据类型进行比较
     * 比较后只能是Boolean,要么为true要么为false
     * == 比较两个值是否相等
     * >
     * <
     * !=
     * >=
     * <=
     *
     */
    /**
     * 逻辑运算符
     * &(并且):所有的条件都为true,返回true,如果其中有一个为false,就为false
     * |(或者):只要有一个为true,就返回true,如果都为false,返回false
     * ^(异):相同为false,不同为true(都对或都错)
     * !(非):本来是false改成true
     * 
     * 逻辑运算符 &和|可以双写
     * 单写和双写有什么区别呢?
     * 1.短路与:如果左侧已经可以判断最终结果了,那么后面的判断将不会再被执行
     * 以后开发使用短路与,因为他的开发执行效率高
     *
     */    
    /**
     * 三元运算符:
     * 条件表达式?表达式1:表达式2
     * 如果条件表达式为true,执行表达式1
     * 如果条件表达式为false,执行表达式2
     */    
    //定义两个整数,判断a是否大于b,如果大于b,输出a大,相反输出b大
            int q1=100;
            int q2=200;
            
            String result= (q1>q2)?"q1大":"q2大";
            System.out.println(result);
            
            //实现两个变量值的互换(出现第三个变量来做他们的媒介)
            int m=6;
            int n=5;
            int tt;
            tt=m;
            m=n;
            n=tt;
            System.out.println("m:"+m);
            System.out.println("n:"+n);    
    /**
     * 顺序结构:按照代码的抒写顺序从上往下依次执行
     *
     */
            //实训的一天
            System.out.println("洗漱");
            System.out.println("收拾东西");
            System.out.println("吃饭");
            System.out.println("实训");
            System.out.println("吃午饭");
            System.out.println("练习总结");
            System.out.println("晚饭");
            System.out.println("聊天,看短视频,玩游戏");
            System.out.println("吃个夜宵");
            System.out.println("休息");    
    /**
     * Scanner:用于接收键盘输入的数据
     * */
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入姓名:");
            String name=sc.next();//接收字符串
            System.out.println("请输入年龄:");
            int age=sc.nextInt();
            System.out.println("请输入成绩:");
            double socre=sc.nextDouble();
            System.out.println("大家好,我叫:"+name+",我的芳龄是:"+age+",我的成绩是:"+socre);

}
}

7月30日

package week1;
import java.util.*;
public class _730 {
    public static void main(String[] args){
        /**if语句结构
         * if(判断条件){
         * 代码块;
         * }
         * *执行:
         * 1.进入判断条件,看是否满足,true或false
         * 2.如果true,执行If里面的代码块
         * 3.如果false,不会执行if里面的代码块
         */
        Scanner sys =new Scanner(System.in);
        System.out.print("求输入成绩:");
        int score =sys.nextInt();
        if(score>=90){
            System.out.println("再来五孛");
        }
        //张三的Java成绩大于98分,而且数据库成绩大于80分,老师会奖励他;
        //或者Java成绩等于100分,数据库成绩大于70分,老师也会奖励他
        
        int java=100;
        int mysql=89;
        if((java>98 && mysql>80 ) ||(java==100 && mysql>70) ){
            System.out.println("考的不错,奖励两套试卷");
        }
        /**
         * if(条件表达式){
         * 语句1;
         * }else{
         * 语句2;
         * }
         * 
         * 执行流程:
         * 1.进入if后面的条件判断  true false 
         * 2.如果为true,执行if里面的语句1
         * 3.如果为false,执行else里面的语句2
         *  类似三元运算符:
         * 条件表达式?表达式1:表达式2
         * 如果条件表达式为true,执行表达式1
         * 如果条件表达式为false,执行表达式2
         */
            /**
             * 多重if
             * if(条件表达式1){
             *   语句1;
             * }else if(条件表达式2){
             * 语句2;
             * }else if(条件表达式3){
             * 语句3;
             * }
             * ....
             * }else{
             * 语句4;
             * }
             */
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入你的考试成绩:");
            int score2=sc.nextInt();
            if(score2>=90){
                System.out.println("优秀");
            }else if(score2<90 && score2>=80){
                System.out.println("良好");
            }else if(score2<80 && score2>=60){
                System.out.println("中等");    
            }else{
                System.out.println("较差");
            }
            
            
            //嵌套if:就是在if里面在添加一个if
            //语文数学都过80才能进A班  一科过60一科过80或两科都过60进B班,有一科没过60就落榜。  
            System.out.println("请输入数学成绩");    
            int mathScore =sc.nextInt();
            System.out.println("请输入语文成绩");
            int chineseScore =sc.nextInt();
            if(mathScore>=80){
                if(chineseScore>=80){
                    System.out.print("恭喜你进入A班");                    
                }
                else if(chineseScore>=60){
                    System.out.print("恭喜你进入B班");
                }
                else{
                    System.out.println("很抱歉你落榜了");
                }
            }
            else if(mathScore>=60 ){
                if(chineseScore>60){
                    System.out.print("恭喜你进入B班");
                }
                else{
                    System.out.println("很抱歉你落榜了");
                }
                
            }
            else{
                System.out.println("很抱歉你落榜了");
            }

        /**
         * 
         * switch
         * 语法:
         *      switch(表达式){
         *   case  常量1:
         *   代码块1;
         *   break;
         *   case 常量2:
         *   代码块2;
         *   break;
         *   ....
         *   default:
         *   代码块3;
         *   break;
         * 
         * }
         *  1.case 后面都是常量
         *  2.break:可以选,如果case里面没有break,会继续执行下一个case,直到遇到break停止
         *  3.case后面的常量是唯一的
         *  4.default:可选的,如果加了,如果所有的case都不满足,执行default
         *  
         *  switch和if 的区别:
         *  1.if会一步一步执行表达式的判断,switch根据表达式直接去找相应case,因为case后面是常量不能进行逻辑判断,效率高
         *  2.什么情况下用if呢?常用于区间判断
         *  什么情况下用switch:常用在等值判断
         *  
         */
            System.out.print("请输入你的名次");    
            int rank =sc.nextInt();
            switch(rank){
            case 1 :
                System.out.println("恭喜你登顶全服第一");
                break;
            case 2 :
                System.out.println("恭喜你登顶全服第二");
                break;
            case 3 :
                System.out.println("恭喜你登顶全服第三");
                break;
            default :
                System.out.println("继续努力,本赛季你未进入前三");
                break;
            }
                
            /**
             * 使用循环可以解决以上问题
             * 什么是循环?
             * 通过循环语句返回执行同一个操作
             * while循环
             * 语法:
             * ①:初始化
             * while(②循环条件){
             *    ③循环体;
             *    ④累加器;
             * 
             * }
             * 执行流程:
             * 1.加载初始化变量①  。执行一次
             * 2.根据循环条件进行判断②,
             * 如果判断结果为true,执行循环体③,执行累加器④,
             * 在返回来进行循环条件判断②,如果判断结果为true,执行循环体③,执行累加器④,以此类推。
             * 直到循环条件不满足,结束循环
             */
            //1.初始化 创建初始化变量
            int num=1;
            //2.循环条件
            while(num<=10){
                //3.循环体
                System.out.println("抄课文"+num);
                //4.每抄完一次,次数加1  累数器
                num++;
            }    
            //2019年培养学员25万人,每年增长25%。请问按此增长速度,到哪一年培训学员人数将达到100万人?
            int year=2019;//初始化年份
            double count=250000;//初始化人数
            while(count<=1000000){
                count=count*(1+0.25);
                year++;
            }
            
            System.out.println("年份:"+year);

    }    
    
}            

7月31日

package week1;
import java.util.*;
public class _731 {

    public static void main(String[] args) {
        /**
         * 语法:
         * ①初始化变量
         * do{
         *   ②循环体;
         *   ③,累加器
         * }while(④循环条件);
         * 
         * 执行顺序:
         * 1.初始化变量
         * 2.执行do里面的循环体和累加器,执行完成以后执行循环条件判断,如果判断结果为true,
         * 继续执行do里面的循环体和累加器,以此类推,直到循环条件不满足为false的情况下,结束循环
         * 
         * while和do..while区别
         * 1.while:先判断后执行
         * 2.do..while:先执行后判断,至少会执行一次循环体
         */
        //抄课文
        //初始化变量
        int num=1;
        do{
            //循环体
            System.out.println("抄课文:"+num);
            //累加器
            num++;
        }while(num<=0);//循环条件
        
        System.out.println("============while");
        //1.初始化 创建初始化变量
        int num1=1;
        //2.循环条件
        while(num1<=0){
        //3.循环体
        System.out.println("抄课文"+num1);
        //4.每抄完一次,次数加1  累数器
        num1++;
        }
//        不断要求用户输入一个数字(输入的都是正整数),
//          当用户输入end的时候,结束操作,同时计算出刚才输入所有数据的最大值
        
        Scanner sc=new Scanner(System.in);
        //定义一个变量接受最大值
        int max=0;
        boolean flag=true;
        do{
            System.out.println("输入一个正整数:");
            String input=sc.next();
            if(input.equals("end")){
                //结束循环
                flag=false;
            }else{
                //把input变成一个数字
                int num15=Integer.parseInt(input);
                if(num15>max){
                    max=num15;//取出最大值
                }
            }
        }while(flag);
        System.out.println("最大值为:"+max);
        /**
         * for循环使我们使用最多的一种,为我们专门提供了一个位置,存放三个表达式:
         * 1.初始化表达式
         * 2.循环条件表达式
         * 3.累加器
         * 
         * 语法:
         * for(①初始化表达式;②条件表达式;④累加器){
         *  ③循环体
         * }
         * 
         * 执行流程:
         * 1.执行初始化表达式①
         * 2.执行条件表达式②,如果条件满足,为true,执行循环体③
         * ,执行累加器④,继续执行条件表达式②,如果条件满足,为true,执行循环体③
         * ,执行累加器④。。。以此类推。。直条件表达式不满足,结束循环
         * 
         * while和for循环:
         * 特点;while:适用在循环次数不固定的场合,for循环更适合循环次数固定的场合
         */
        //for实现抄课文
        for(int i=1;i<=10;i++){
            System.out.println("抄课文:"+i);
        }
        
//        int i=0;//死循环
//        while(i==0){
//            System.out.println("aaa");
//        }
        
//        for(;;){
//            System.out.println("bbb");
//        }
        
        //break:一旦执行,整个循环立马结束
        //按顺序打印1-10,遇到3终止打印
        for(int i=1;i<=10;i++){
            if(i==3){
                break;
            }
            System.out.println(i);
        }
        //30的楼,如果是4楼跳过,继续下一次循环
        //continue:跳过当次循环,继续执行下一次循环
        for(int i=1;i<=30;i++){
            if(i==4){
                continue;
            }
            System.out.println(i);
        }
//        某次程序大赛,3个班级各4名学员参赛,计算每个班参赛学员的平均分
       
        //外层循环控制班级  
        for(int i=0;i<3;i++){
            System.out.printf("请输入第%s个班级的学信息\n",i+1);
            //定义一个变量记录每个班级4名学员的总成绩
            int sum=0;
            //定义一个变量记录每个班级的平均分
            int avg=0;
            //内层循环控制每个班级的学员
            for(int j=0;j<4;j++){
                System.out.printf("请输入第%s名学员的成绩:",j+1);
                //获取学员成绩
                int score=sc.nextInt();
                sum+=score;//计算总成绩
            }
            //求平均成绩
            avg=sum/4;
            System.out.printf("第%s班级的平均成绩:"+avg,i+1);
            System.out.println();    
           
        }

        /**
         * 1.数组是什么?为什么使用数组?
         * 比如我要统计每位员工的工资,我得定义多个变量去分开存储,因为一个变量只能保存一个数据,如果过多的员工,
         * 太麻烦了,那么我怎么用一个变量去存储多个员工工资呢?
         * 可以使用数组,数组就是一个大的容器,他可以存放多个值
         * 2.什么是数组?
         * 数组和变量差不多,都是存放数据的,不同的是变量只能保存一条数据,而数组可以保存多条数据,前天这个多条数据
         * 必须是同一类型的
         * 数组是引用数据类型
         *
        
                //统计每位员工的工资 5位
//                int money=5000;//第一位
//                int money1=8000;//第二位
//                int money2=8000;//第二位
 * */
                
        
    }

}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值