Day02(注释,关键字,标识符命名规则,数据类型,字节,进制,转义字符,类型转换,变量,作用域,常量,运算符)

注释

注释并不会被执行,书写注释是一个非常好的习惯。

单行注释 //

多行注释/*注释 */

文档注释 JavaDoc

/**

*

*/

control+D在IDEA里是复制当前行到下一行

标识符和关键字

关键字

 

所有的标识符都应该以字母A-Z或a-z,美元符$或者下划线_开始

不能使用关键字作为变量名或方法名

标识符是大小写敏感的。

数据类型

JAVA是强类型语言,要求变量的使用要严格符合规定,所有变量都

必须先定义后才能使用。(安全性更高,速度稍慢)

弱类型语言则相反。

JAVA的数据类型分为两大类

基本类型和引用类型。

基本数据类型包含数据类型和boolean类型

数据类型包含(八大基本数据类型)

1.整数类型(byte占一个字节范围,short两个,int四个,long八个)

2.浮点类型(小数)(float四个字节,double八个字节)

3.字符类型(char两个字节)

boolean类型只有true和false(占一位)

除了基本类型的都是引用类型

类,接口,数组。

什么是字节(1B)

  1. 位(bit):是计算机内部数据存储的最小单位

  2. 字节(byte):是计算机中数据处理的基本单位,一般用B来表示

  3. 1B(一字节)=8bit(八位)

  4. 字符是指计算机中使用的字母,数字,字和符号。

  5. 1024B=1KB,1024KB=1M,1024M=1G

JAVA中的进制

  1. 整数类型扩展

    二进制用0b表示,八进制用0表示,十六进制用0x表示

  2. 浮点类型扩展

    浮点类型是有限的离散的会舍入误差,接近但不等于

    最好避免完全使用浮点数进行比较。

    银行业务用BigDecimal类来表示。

  3. 字符类型扩展

    所有的字符本质还是数字,unicode编码表

  4. 布尔值扩展

    boolean Name=true

    if(Name==true){}和if(Name){}是一样的效果

转义字符

\t跳转到下一个TAB位置

\n换行,将当前位置移动到下一行开头

\r回车,将当前位置移动到本行开头

\ '和\ "表示单引号字符和双引号字符\ \代表反斜线\字符

类型转换

运算中,不同类型的数据先转化为同一类型然后再进行运算。

byte,short,char->int->long->float->double从低到高

强制转换:(需要转换的类型)变量名 从高--低

自动转换:低--高

一定要注意溢出问题

注意点:

  1. 不能对布尔值进行转换

  2. 不能把对象类型转换为不相干的类型

  3. 转换时可能存在内存溢出或者精度问题

变量

变量就是可以变化的量。

java是一种强类型语言,每个变量都必须声明其类型

java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

定义格式:数据类型 变量名 = 值(可以使用逗号隔开来声明多个同类型变量)

注意事项:

  1. 每个变量都有类型,类型可以是基本类型,可以是引用类型

  2. 变量名必须是合法的标识符

  3. 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

变量及作用域

  1. 局部变量必须声明和初始化值,只存在于方法中

  2. 实例变量从属于对象如果不自行初始化,会是默认值

变量类型 变量名字=new变量类型()

Demo1 name=new Demo1();

数值类型一般是0或者0.0,字符是u0000,布尔值默认false

除了基本类型其他的默认值都是null

  1. 类变量 static(是一个修饰符)

常量

初始化后就不能在改变值,不会变动的值。

所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中

不允许被改变

常量名一般使用大写字母,修饰符不存在先后顺序

final double PI=3.14

变量的命名规范

1.所有变量,方法,类名:见名知意

2.类成员变量:首字母小写和驼峰原则:出了第一个单词以外,后面的单词首字母

大写lastName,局部变量和方法名都用首字母小写的驼峰原则。

3.类名:首字母大写和驼峰原则。

运算符

取余运算又称为模运算

1.算术运算符:+,-,*,/,%,++,--

2.赋值运算符:= 如a=5 把5赋值给a

3.关系运算符:>,<,>=,<=, ==,!=,instanceof

4.逻辑运算符:&&与,||或,!非

在“与”的关系中如果第一个就为假则不继续进行判断

5.条件运算符:?:

6.扩展赋值运算符:+=,-=,*=,/=

7.位运算符:&,/,^,~,<<,>>

A=0011 1100 B=0000 1101

A&B=0000 1100(与)

A/B=0011 1101(或)

A^B=0011 0001(异或,相同就为0,不相同为1)

~B=1111 0010(取反)

<<相当于*2 >>相当于/2

面试题

2*8如何运算最快

System.out.println(2<<3)2左移三位相当于2的3次方

字符串连接符 +

int a=10; int b=20;

System.out.println(""+a+b); 1020 输出的是字符串类型

System.out.println(a+b+""); 30 输出的是整数类型

运算结果中如果包含long类型则结果为long类型

浮点运算有一个操作数类型为double结果就为double

int b=a++ 执行完这行代码后,先给b赋值,再自增。

++a是执行这行代码钱,先自增再给b赋值。

幂运算 Math.pow(2,3)

三元运算符 x ? y: z如果x==true结果为y,否则结果为z

int score=80;

String type=score < 60 ?"不及格":"及格";

几元运算符指的是有几个操作数

 

 

posted @ 2021-10-04 11:07  敖炽  阅读(61)  评论(0)    收藏  举报