Javase尚硅谷笔记

本文介绍了Java中数据类型的自动提升规则,特别是byte、char、short到int的提升,以及long、float、double的处理。此外,讲解了整数的不同表示方式,包括二进制、十进制、八进制和十六进制。还讨论了变量赋值的语法,如short变量的累加操作,并推荐使用`num += 1`的方式。最后提到了if-else和switch语句的使用细节,以及数组初始化时默认值的情况。

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

  1. 自动类型提升:
    结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
    byte、char、short–>int–> 1ong–> float- -> double
    特别的:当byte、char、short 三种类型的变量做运算时,结果为int型。
  2. 两个特殊情况:
    class VariableTest4 {
    public static void main(String[] args) {
    //1.编码情况1:
    long 1= 123213;
    System . out .println(1);
    //编译失败:过大的整数
    //long l1=21332423235234123;
    long l1= 21332423235234123L;
    //***************
    //编译失败
    //float f1 =12.3;
    f1oat f1
    : (float)12.3;
    //2.编码情况2:
    𤨣型常量,默认类型为int型
    浮点型常量,默认类型为double型
    byte b = 12;
    1/byte b1=b+1;/1编译失败
    //float f1 = b + 12.3;//编译失败
  3. String类型变量的使用
    1. String属于引用数据类型,翻译为:字符串
    2. 声明String类型变量时,使用一对"”
    3. string可以和8种基本数据类型变量做运算,且运算只能是连接运算:+; 运算的结果仍然是String类型。
      在这里插入图片描述

由上图可看出,对于连续➕的情况,从左往右,当为非字符串相加时,需相加;当为字符串时,其后所有均为字符串。

  1. 对于整数,有四种表示方式:
    二进制(binary):0,1,满2进1.以0b或0B开头。
    十进制(decimal):0-9,满10进1。
    八进制(octal):0-7满8进1.以数宇0开头表示。
    十六进制(hex):0-9及A-F,满16进1.以Ox或ex开头表示。此处的A-F不区分大小写。如:0x21AF +1= 0x21B0

short s1= 10;
//s1 = s1 + 2;//编译失败
s1 += 2; //结论:不会改变变量本身的数据类型
System.out.println(s1);
//开发中,如果希望变量实现+2的操作,有几种方法?(前提:int num = 10;)
//方式1:num=num +2;
//方式二:num +=2;(推荐)
//开发中,如果希望变量实现+1的操作,有几种方法?(前提:int num = 10;)
//方式一:num = num + 1;
//方式二:num += 1;
//方式三:num++;(推荐)

if-else语句说明:

  1. 凡是可以使用三元运算符的地方,都可以改写为if-else,反之,不成立。
    如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高。

int X = 4;
int Y=1;
if (x > 2)
if (y > 2)
System.out.println(x + y);
//System.out.println(“atguigu”);
else //就近原则(在无大括号的时候,以与之最近的if语句合为判断语句)
System.out.printIn("x is " + x);

switch语句的说明:

  1. 根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。
    当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构
    末屋结束为止。 break,可以使用在switch-case结构中,表示一旦执行到此关键宇,就跳出switch-case结构

  2. switch结构中的表达式,只能是如下的6种数据类型之:
    byte、short、char、int、枚举类型(JDK5.0新增)、string类型(JDK7.0新增)

  3. case 之后只能声明常量。不能声明范围。break关键字是可有无的。
    default:相当于if-else结构中的else。default结构是可有无的。

  4. 数组
    数组元素是螫型:0
    数組元素是浮点型:0.0
    数組元素是char型:0或’\u0000’,而非’0’,
    数组元素是boolean型:false
    数组元素是引用数据类型:null

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值