java学习-Day1

注释

单行注释://      多行注释:/*   */       文档注释:/**    **/

关键字

关键字的字母全部小写

class:用于(创建/定义)一个类,class后是类名

字面量

数据在程序中的书写类型

字符串类型(用双引号括起来)“helloworld”

字符类型(用单引号括起来【内容只能有一个】)‘A’,‘我’

\t:制表符

在打印时,把前面字符串的长度补齐到8或者8的倍数,最少补一个空格,最多补8个空格

变量

某个数据经常发生变化时,用变量存储。当数据变化时,修改变量里面记录的值。

数据类型 变量名 = 数据值;

数据类型:为空间中存储的数据,加入类型【限制】整数

变量使用方法   1、输出打印   2、参与计算   3、修改记录值

public class Variable {
    public static void main(String[] args){
        //数据类型:整数类型,变量名:a,数据值:1
        int a = 1;
        System.out.println(a); // 1
        a=2;
        System.out.println(a); // 2
        int b;
        b=20;
        System.out.println(b); //20
        int c = a+b;
        System.out.println(c); //22

    }

}

变量注意事项

  1. 只能存一个值
  2. 变量名不能重复
  3. 一条语句可以定义多个变量
  4. 变量在使用前一定要赋值 ---建议(定义变量是直接赋值)

 int d = 100,e = 200,f=300;

变量练习

public class VariableTest {
    public static void main(String[] args){
        //第一站:上去一位乘客
        //第二站:上去两位乘客,下来一位乘客
        //第三站:上去两位乘客,下来一位乘客
        //第四站:下来一位乘客
        //第五站:上去一位乘客
        //到终点站,车上一共几位乘客

        int count = 0;
        count = count+1+2-1+2-1-1+1;
        System.out.println("到终点站后车上有乘客"+count+"位");
    }

}

计算机存储规则

计算机中,任意数据都是以二进行形式存储的(打孔)(高压低压)

  • 二进制:由0和1组成,代码中0b开头
  • 十进制:由0到9组成,代码中不加任何前缀
  • 八进制:由0到7组成,代码中0开头
  • 十六进制:由0到9和a到f组成,代码中0x开头
        System.out.println(17);  // 17
        System.out.println(017); // 15
        System.out.println(0b100); // 4
        System.out.println(0x17); // 23

数据类型

1、基本数据类型

  • 整数:byte 1 位 ;short 2 位;int 3 位;long 8 位(后缀L)
  • 浮点数:float 4 位(后缀F);double 8 位
  • 字符:char 2 位
  • 布尔:bool 1 位
        String name = "姚困困";
        int age = 22;
        char sex = '女';
        double height = 165;
        boolean flag = true;
        System.out.println(name);
        System.out.println(age);
        System.out.println(sex);
        System.out.println(height);
        System.out.println(flag);

2、标识符:给类,方法,变量等起的名字

  • 由数字、字母、下划线(_)和美元符($)组成
  • 不能以数字开头
  • 不能是关键字
  • 区分大小写

        建议

        小驼峰命名法:方法、变量

  •         标识符是一个单词时,全部小写
  •         标识符是多个单词组成时,第一个单词首字母小写,其他单词首字母大写

        大驼峰命名法:类名

  •         标识符是一个单词时,首字母大写
  •         标识符由多个单词组成时,每个单词首字母大写

        见名知意 

 3、键盘录入

Scanner类可以接受键盘输入的数字

  1. 导包                import java.util.Scanner;
  2. 创建对象          Scanner sc = new Scanner(System.in);     sc是变量名,可以修改
  3. 接受数据        int i = sc.nextInt();            i是变量名,可以修改
        //键盘录入两个值并且相加
        System.out.println("请输入第一个整数");
        Scanner sc = new Scanner(System.in);
        int first = sc.nextInt();
        System.out.println("请输入第二个整数");
        int second = sc.nextInt();
        int sum = first+second;
        System.out.println("相加之和为"+'\t'+sum);

运算符

整数参与运算只会得到整数,小数参与计算可能会出现不精确结果

package Day01;

public class Arithmeticoperator {
    public static void main(String[] args){
        //运算符
        // +
        System.out.println(5+4);//9
        //-
        System.out.println(5-4);//1
        //*
        System.out.println(5*4);//20
        //除法
        System.out.println(10/3);// 3 整数参与计算只会出现整数
        //%
        System.out.println(5%4);//1

        //小数参与
        //在代码中如果有小数参与,可能会出现不精确结果
        System.out.println(1.1+1.01);
    }
}
        //键盘录入123 打印3  2  1、
        Scanner sc = new Scanner(System.in);
        System.out.println("输入整数");
        int num = sc.nextInt();
        int a = num%10; // 百位
        int b = num/10%10;
        int c = num/100%10;
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

算术运算符

隐式转换(自动类型提升)【取值范围小的变成取值范围大的】

  • 取值范围小的和取值范围大的进行计算,小的会自动提升为大的在进行计算
  • byte  short  char  三种类型的数据在运算时,都会直接提升为int再进行计算

强制转换【取值范围大的赋值给取值范围小的】

  • 格式:目标函数类型  变量名 = (目标函数类型)被强转的数据;

字符串 “+” 操作

  • 当 “+” 操作中出现字符串时,“+” 号表示字符串拼接符,将前后的数据进行拼接 “123”+123=“123123”
  • 连续加 “+” 操作时,从左到右逐个进行  1+99+“姚” =  “100姚”

字符 “+” 操作

当字符相加时,会把字符通过ASCII码表查询到的对应数字再进行计算

自增自减运算符:++和--可以放到运算符前面或者后面

单独使用时,++和--放到运算符前面或者后面的结果是一样的

参与计算时

  • a++:先用后加
  • ++a:先加后用
        int x = 10;
        int y = x++;
        int z = ++x;
        System.out.println("x:"+x);//单独使用两次    10+1+1 = 12
        System.out.println("y:"+y);//先用再加      10
        System.out.println("z:"+z);//先加再用      11+1 = 12

赋值运算符:==,+=,-=

关系运算符:==,!=,>,>=,<,<=  布尔类型

        //键盘录入两个数字  a和b
        //如果a>b返回true  否则false
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个数字");
        int a = sc.nextInt();
        System.out.println("请输入第二个数字");
        int b = sc.nextInt();
        if (a>b)
            System.out.println("true");
        else
            System.out.println("false");

逻辑运算符  & | ^ !

分支运算符  if   一行语句可以不用写大括号【尽量写】   对布尔类型判断不要==,之间把变量写在小括号中

        if (关系表达式){
             语句体1
        } else{
             语句体2
        }
        //键盘录入一个整数(1-100)表示票号,票号为奇数坐在左边,否则坐在右边
        Scanner sc = new Scanner(System.in);
        System.out.println("输入一个整数(1-100)");
        int tickets = sc.nextInt();
        if(tickets>=0&&tickets<=100){
            if(tickets%2==0){
                System.out.println("sit down right");
            }else{
                System.out.println("sit down left");
            }
        }else{
            System.out.println("输入0到100之间的数字");
        }
if (关系表达式1){
     语句体1;
}else if(关系表达式2){
    语句体1;
}else if(关系表达式2){
    语句体2;
}
 ...
else{
    语句体3;
}
        Scanner sc = new Scanner(System.in);
        System.out.println("输入小明的分数");
        double socre = sc.nextDouble();
        if(socre>=95&&socre<=100){
            System.out.println("恭喜获得自行车一辆");
        }else if(socre>=90&&socre<=94){
            System.out.println("恭喜获得游乐场一天");
        }else if(socre>=80&&socre<=89){
            System.out.println("恭喜获得变形金刚一个");
        }else{
            System.out.println("gungungun");
        }

分支运算符  switch

switch (表达式){
    case 值1:
        语句体1;
        break;
    case 值2:
        语句体2;
        break;
    case 值3:
        语句体3;
        break;
    ...
    default:
        语句体n;
        break;
}

先计算表达式的值,依次和case后面的值进行对比,如果有对应的值,就会执行相应的语句,在执行语句过程中,遇到break就会结束。所有case后面的值与表达式的值不同执行default里面的语句体。

        Scanner sc = new Scanner(System.in);
        System.out.println("输入当前星期数[1-7]");
        int week = sc.nextInt();
        switch (week){
            case 1:
                System.out.println("跑步gogogo");
                break;
            case 2:
                System.out.println("游泳gogogo");
                break;
            case 3:
                System.out.println("慢走gogogo");
                break;
            case 4:
                System.out.println("单车gogogo");
                break;
            case 5:
                System.out.println("拳击gogogo");
                break;
            case 6:
                System.out.println("爬山gogogo");
                break;
            default:
                System.out.println("吃饭gogogo");
        }

若没有写break,先进行匹配,若匹配成功且碰到break则结束switch语句。若没有匹配成功则继续执行下一个case语句直到成功。

循环结构

for 循环

for(初始化语句;条件判断语句;条件控制语句){
    循环体语句;
}
  • 初始化语句执行一次
        for(int i = 1;i<10;i++){
            System.out.println(i);
        }
        //键盘录入两个数字,表示一个范围
        //统计这个范围内,既能被3整除又能被5整除
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个数字表示开始范围");
        int firstNum = sc.nextInt();
        System.out.println("请输入第二个数字表示结束范围");
        int secondNum = sc.nextInt();
        int count = 0;
        for(int i = firstNum;i<=secondNum;i++){
            if(i%3==0&&i%5==0){
                count+=1;
                System.out.println(i);
            }
        }
        System.out.println(count);
while循环
初始化语句;
while (条件判断语句){
    循环体语句;
    条件控制语句;
}

for和while循环区别:for循环中,控制循环的变量在for循环语法结构中,在for循环结束后不能再次访问。while循环中,控制循环的变量没有在while循环语法结构中,在while循环结束后依旧可以访问。

for循环知道循环次数或者循环范围,while循环不知道循环次数和范围,只知道循环结束条件

        //回文数   把数字倒过来与原来数字进行比较
        int x = 1221;
        int temp = x;//临时变量,用于最后结果比较
        int num = 0;
        while (x!=0){
            //从右向左获取每一位数字
            int ge = x%10;
            x = x/10;
            //将当前获得的数字拼接到最右边
            num = num*10+ge;
        }
        if(num==temp){
            System.out.println(true);
        }else {
            System.out.println(false);
        }

continue:跳过本次循环,继续执行下次循环;break结束整个循环

        //从任意一个数字开始报数,报的数是7的倍数或者包含7时说过
        //打印1-100之间的逢7过
        for(int i=1;i<=100;i++){

            if(i%10==7||i/10%10==7||i%7==0){
                System.out.println("过");
                continue;
            }
            System.out.println(i);

        }

随机数

//获取随机数
Random r = new Random();
int num1 = r.nextInt(10); //0-9

//获取任意数到任意数之间的随机数 7-15
//1、让这个范围头尾都减去一个值,使得范围从0开始  -7  0-8
//2、尾巴+1  8+1=9
//3、最终结果加上第一步减去的值
int num2 = r.nextInt(9)+7;
System.out.println(num2);
        //猜数字
        //随机生成1-100之间数字,键盘录入猜
        //如果3次猜不中,直接提示猜中了
        Random r = new Random();
        int num = r.nextInt(101)+1;
        System.out.println("随机数"+num);
        int count = 0;
        Scanner sc = new Scanner(System.in);
        System.out.println("输入猜测数");
        int myNum = sc.nextInt();
        while (count<2){
            count+=1;
            if(myNum>num){
                System.out.println("大了,再次输入猜测数");
                myNum = sc.nextInt();
            }else if(myNum<num){
                System.out.println("小了,再次输入猜测数");
                myNum = sc.nextInt();
            }
        }
        System.out.println("猜对了");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值