Java学习笔记一(标识符、八大原生类型、类型转换、运算符号、常用引用类型介绍、结构语句)

一、标识符

标识符:
标识符就是指在程序中,我们自己定义的内容。
比如类名,变量名,方法名等等。。。

1、命名规则:(必须遵守)

1、不能数字开头
2、不能是java中的关键字和保留字
3、可以包含数字,字母(区分大小写),$和_

2、命名规范:(行内要求)

1、类名:首字母必须大写,后面每个单词首字母大写(大驼峰),类名必须与文件名一致。
2、变量名:首字母小写,后面每个单词首字母大写(小驼峰)。
3、方法名:与变量名规范一样。
推荐:尽量做到见名知意

二、八大原生类型

java中八大原生类型 首字母都是小写

1 、整数类型

  1. byte 所占字节:1 所占位数:8 存储范围-128~127
  2. short 所占字节:2 所占位数:16
  3. int 所占字节:4 所占位数:32
  4. long 所占字节:8 所占位数:64
    推荐long类型结尾加大写L

2、浮点类型

  1. float所占字节:4 所占位数:32
    推荐float类型结尾加大写F
  2. double 所占字节:8 所占位数:64

3、字符类型

  1. char所占字节:2 所占位数:16
    必须单引号包裹,并且只能写一个字母

4、布尔类型

  1. boolean 所占字节:1/4 所占位数:8/32

5、总结

  1. 创建多个变量时,变量名不能重复
  2. 使用发咯安徒生和long,记得添加F或L后缀
  3. 使用byte和short时,赋值范围不要超过限制
  4. 变量的使用不能超过其作用域
    作用域:从定义变量开始到当前所属大括号结束
  5. 可以通过一个语句来创建多个变量,但是不推荐

三、类型转换

1、自动转换

  1. 小转大,小类型往大类型提升,随便用
  2. float ==> long 不允许,因为大类型不一致
  3. long ==> float 允许,不推荐使用。可能数据溢出,精度丢失

2、强制转换

//short ==> byte
long myLong = 10000L;
short myShort = (short)myLong;
//float ==> long
long myLong2 = (long)8.8F;
  1. 注意:在java在中数字类型常量
    整数默认类型:int
    浮点数默认类型:double
    注意!!!定义byte和short时,右侧常量如果没有超过其定义范围会隐式强制转换成左侧类型
  2. 常量:在程序运行过程中不会发生改变值
  3. 强制转换:需要谨慎使用,可能造成精度丢失,数据溢出
  4. byte/short/ 进行运算过程时自动转型成int
  5. char 底层使用阿斯克码 只要值匹配 阿斯克码就会自动转换
  6. int类型的值,只要满足char范围会隐式强制转换

3、总结

  1. 强制转换需要谨慎使用,因为有可能发生数据溢出,精度丢失
  2. Byte/short/char 这三种类型会转换成int类型进行数字运算
  3. Boolean不能进行任何类型转换

四、运算符号

1、算数运算符(+ - * / %)

  1. 如果整型运算结果必定整型
  2. 如果运算中有浮点类型结果必定是浮点类型
  3. 小范围和大范围进行运算结果会自动提升至大范围

2、赋值运算符(= += -= *= /=)

  1. 赋值运算 左侧只能使用变量
  2. 无论结果是否超过左侧类型范围都会进行强制转换

3、逻辑运算符(或|| 与&& 非!)

  1. 单独使用时 & 和 | 做的是运算,如果两侧为boolean时,&两侧为true则为true,|两侧有一个为true则为true
  2. 注意:&& 和 || 有短路的作用,&&如果左侧为false右侧不执行,||左侧为true右侧不执行

4、++和- -

  1. ++:自增1
    –:自减1
    注:符号使用必须为变量
  2. a++:先操作再运算
    ++a:先运算再操作
    (–一样)

5、三元运算

判断关系式?操作1(true):操作2(false)

五、常用引用类型介绍

1、Scanner(Scanner类)

扫描类,可以扫描指定位置的内容
目前而言,我们可以借助扫描类让用户使用控制台交互
Scanner sc = new Scanner(new);
.next() 获取控制台输入的字符串 返回String
.nextByte() 获取控制台输入的byte数值 返回byte
只能接收符合byte类型的值
hasNextInt()判断用户输入的值是否符合其类型

2、String

用于存储字符串,只要被双引号包裹都是字符串

3、Math

Math.random() 返回[0,1)随机小数,包括0 不包括1

六、结构语句

1、选择结构

1.1、if

  1. If(判断条件){
    //逻辑代码
    }
  2. If(判断条件){
    //逻辑代码
    }else{
    //逻辑代码
    }
  3. If(判断条件){
    //逻辑代码
    }else if(判断条件){
    //逻辑代码
    }else{
    //逻辑代码
    }
    注:多个if和多个else if区别:多个if会逐个判断,只要满足就会执行其中代码多个else if因为是一个整体,所以当其中一个满足时后续不执行

1.2、switch

  1. 传入值要求:jdk1.7之前支持byte/short/int/enum
    Jdk1.7之后支持byte/short/int/String/enum

  2. Switch的穿透性,如果条件匹配其中一个case时,会执行其中代码,如果末尾没有break(),会继续执行下一个case,不论值是否匹配

  3. 总结:
    如果是对范围值的判断推荐使用if
    如果是对精准值的判断推荐使用switch

2、循环结构

2.1、for

for(操作一①;判断条件②;操作三④){
操作二③;
}
第一次循环:① =》②=》③=》④
第二次循环:②=》③=》④=》②=》③=》。。。
最后一次:②(判断条件不成立循环结束)

2.2、while

  1. while(判断条件){
    //逻辑代码
    }

  2. do{
    //逻辑代码
    }while(判断条件)

  3. 循环中的关键字
    Break:退出当前循环,后续代码不执行
    Continue:跳出本次循环,后续代码本次循环不执行

  4. 总结:
    如果已知循环次数,推荐使用for循环
    如果循环次数未知,推荐使用while循环
    单纯的执行效率而言while远远高于for

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值