JAVASE(3)

本文介绍了Java中基本数据类型的自动和强制类型转换,包括转换规则及可能遇到的问题。此外,讨论了整数除法结果的处理方法,并展示了如何保留小数部分。同时,讲解了字符串与整数的拼接以及前置和后置递增运算符的区别。还详细阐述了逻辑运算符的工作原理。最后,通过实例展示了for循环在打印星号图案和处理用户输入数字反向输出的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java语言中基本数据类型之间的转换:自动类型转换和强制类型转换
自动类型转换:小类型到大类型
强制类型转换:大类型到小类型

例子:
byte b = 10;
short s = 15;
s = 128;
b = (byte)s;
sout(b);    

128:0000 0000 1000 0000    2字节 16位
强制转换为1字节8位 (默认取出低8位)  => 1000 0000   最高位为1   为负数
先减一 再取反 再加负号    0111 1111 -> 1000 0000  ->  -128

Java语言中,两个整数相除,结果只保留整数部分,丢弃小数部分。
如何保留小数部分?
1.让其中一个数不是整数(强转为小数),结果就为小数
2.让其中一个数乘以1.0即可

“”双引号表示空字符串,加一个整数=字符串整数

例子:a +b + c = 1 + 1 + 6 = 8
sout(""+a+b+c) 116
sout(a+""+b+c) 116
sout(a+b+""+c)  26
sout(a+b+c+"")  8

后++表示先让变量的数值作为表达式结果,然后再让变量自身的数值+1
前++表示先让变量自身的数值+1,然后作为表达式结果

逻辑运算符

逻辑与&&  并且  同真为真,一假为假
逻辑或||     或者  一真为真,同假为假
逻辑非!    取反  真为假,假为真

逻辑运算符的操作数均为boolean表达式

对于逻辑与来说,第一个表达式为假,则结果为假,直接跳过第二个表达式
对于逻辑或来说,第一个表达式为真,则结果为真,直接跳过第二个表达式

考点:+= 和 = +  这种方法有区别吗?什么区别
byte类型在做加法运算时会自动提升为int类型,优化机制
+=自带强转的功能

case穿透:只要后面没有break,无论下面的case分支匹不匹配,都会进去执行

continue和break关键字

continue语句在循环体中用于提前结束本次循环开始下一次循环(不继续执行i代码,去执行i++代码),只能在循环中使用
break用于退出当前代码块,在循环体中用于退出循环,既能在循环中使用,也能在switch case中使用 
for(;;)这种没有循环条件的循环叫做无限循环,死循环

案例:

  • 使用for循环打印5行5列*
     

            for (int i = 0; i < 5; i++) {
                for (int j = 0; j < 5; j++) {
                    System.out.print("*");
                }
                System.out.println();
            }

    外层循环用于控制打印的行数
    内层循环用于控制打印的列数

  • 使用for循环打印三角
            for (int i = 1; i <= 5; i++) {
                for (int j = 1; j <= i; j++) {
                    System.out.print("*");
                }
                System.out.println();
            }
  • 使用for循环打印倒三角
            for (int i = 1; i <= 5; i++) {
                for (int j = 1; j <= 6 - i; j++) {
                    System.out.print("*");
                }
                System.out.println();
            }
  • 使用for循环打印正三角
            for (int i = 1; i <= 5; i++) {
                for (int j = 1; j <= 5 - i;j++) {
                    System.out.print(" ");
                }
                for (int j = 1; j <= (2 * i - 1);j++) {
                    System.out.print("*");
                }
                System.out.println();
            }

    提示用户输入一个任意位数的正整数然后反向输出
     

            System.out.println("请输入一个正整数:");
            Scanner scanner = new Scanner(System.in);
            int i = scanner.nextInt();
            int num = i;
            while (num > 0){
                System.out.print(num % 10);
                num /= 10;
            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值