木舟0基础学习Java的第二天(数据类型转换,运算符,判断,流程控制语句)

可以用String(类)接受字符串("必须加双引号") String不属于数据类型

String name="木舟";
public class Demo02 {
    public static void main(String[] arge){
        System.out.print("木舟你好");//打印输出不换行
        System.out.println("今天是2024年6月17日");//打印并且换行
    }
}
public class Demo02 {
    public static void main(String[] arge){
      //定义自己的姓名 年龄 身高 体重  性别
        String name="木舟";
        int age=24;
        double height=172.5;
        int weight=125;
        char sex='男';
        //中间用+号拼接
        System.out.println("姓名"+"\t\t"+"年龄"+"\t\t"+"身高"+"\t\t"+"体重"+"\t\t"+"性别");
        System.out.print(name+"\t\t"+age+"\t\t"+height+"\t"+weight+"\t\t"+sex);
        //"\t"相当于键盘上的Tab键
    }
}

数据类型转换:隐式(自动)和强制

自动转换:小转大 例:byte转int

强制转换:大转小 (会丢失精度) 例:double转int

public class Demo02 {
    public static void main(String[] arge){
        //byte 占1个字节
     byte a=6;
     byte b=7;
        //int 占4个字节
     int c=a+b;//这里的+是数学中的求和 不是拼接
        //从byte转int 小转大 自动提升
        System.out.println(c);
        double d=20.5;//double 8个字节

       // int e=c+d;报错 现在要的是int类型的和 需要强制转换
        
        int e=(int) (c+d);//从8个字节转到4个字节 大转小
        System.out.println(e);//得到33 因为强制类型转换会丢失精度 取整
    }
}

如果超出了被赋值的数据类型的取值范围,得到的结果会和想要的不同

如果把char转成int需要对照ASCII码表

ps:这里涉及到了补码,源码和反码

算数运算符:+加   -减   *乘   /除   %模(取余)

赋值运算符:=(从右向左赋值)

逻辑运算符:一般用于连接boolean(布尔)类型的表达式或值

                  :&(逻辑与)判断两边 只要有一方为false(假)结果就为false(假)

                  : |(逻辑或)判断两边 只要有一方为true(真)结果就为true(真)

                  :!(逻辑非)遇到!那么false(假)变为true(真)  true(真)变为false(假)

                  :^(逻辑异或)判断两边 结果相同为false(假) 结果不同为true(真)

                  :&&(短路逻辑与)和逻辑与结果是一样的,但是如果左边为false(假)那么右边就                                                     不会再运算了(开发中推荐使用&&)

                  :||(短路逻辑或)和逻辑非结果是一样的,但是如果左边为true(真)那么右边就不                                                    会再运算了(开发中推荐使用||)

三元运算符(三目运算符):关系表达式 ? 表达式1:表达式2  例:👇

                                               表达式如果成立 返回值为true 取冒号左边的反之取冒号右边的

public class Demo02 {
   public static void main(String[] arge){
       int a=20;
       int b=30;
       String c=a>b ? "a>b":"a<b";
       System.out.println(c);
   }
}

自增自减:++   --(符号在前 先取值后运算,符号在后 先运算再取值

比较运算符:表达式(算数表达式):a>b c>a 判断

                     条件表达式(比较表达式):a==b 比较

扫描仪:Scanner(如果报错需要导包Alt+Enter)

              创建扫描仪👇 //sc名字可以变 其他位置写死

Scanner sc=new Scanner(System.in);

例子:

public class Demo02 {
    public static void main(String[] arge){
        Scanner sc=new Scanner(System.in);//声明扫描仪
        System.out.println("请输入你的账号");
       String id=sc.next();//输入的数据类型
        System.out.println("请输入你的密码");
        int pwd=sc.nextInt();//输入的数据类型
        System.out.println("恭喜你登录成功!");
    }
}

流程控制语句:可以控制程序的执行流程

流程控制语句分类:1.顺序结构(从上往下依次执行)

                                2.选择结构(if语句,switch语句)

equals()是比较String字符串的(不可以用==代替 equals比较实际值,==比较地址值

                                                 判断数字是否相等用==,判断字符串是否相等用equals()

if语句:格式1 (  if(判断){语句体} )(表达式无论复杂简单结果必须是boolean类型)

public class Demo02 {
public static void main(String[] arge){
    System.out.println("请输入用户名:");
    Scanner sc=new Scanner(System.in);
    String s=sc.next();
    if (s.equals("木舟")){
        System.out.println("欢迎木舟登录");
    }
}
}

if语句:格式2(  if(判断){语句体1}else{语句体2} )

public static void main(String[] arge){
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入你的年龄:");
    int a=sc.nextInt();
    if (a>=18){
    System.out.println("恭喜你成年了!!!");}else {
        System.out.println("不好意思您的年龄不够");
    }
}

if语句:格式3(  if(判断){语句体1}else if{语句体2}eles{语句体3} )

public class Day02 {
    public static void main(String[] args) {
        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("最大值"+a);}
        else if (a==b){System.out.println("相等");}
        else {System.out.println("最大值"+b);}
    }

                                3.循环结构

突然发现我的日记还是有人看的 因为我还是个小白 希望各位观看的大牛能够补充指错谢谢啦!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值