Day03_04 一些基础

写JAVA

src 新建java-> class

输入psvm 生成main方法快捷键

输入sout 生成System.out.println方法快捷键

注释

注释并不会执行,他是给人看的

单行注释 //

多行注释 /* */

文档注释JavaDoc

/**

*/

平时写代码注意注释规范

建空白工程

标识符

关键字

![关键字](D:\关键字2021-05-12 230234.png)

Java所有的组成部分都需要名字。类名,变量名以及方法名都成为标识符

  1. 所有的标识符都应该以字母(大小写都可),美元符或下划线开头
  2. 首字符之后可以是字母(大小写都可),美元符,下划线或者数字任意组合
  3. 不能使用关键字作为变量名或方法名
  4. 标识符是区分大小写的
  5. 合法标识符举例
  6. 可以使用中文命名,但是一般不建议,也不建议拼音,90丶很low,hhhhh

数据类型Demo2

强类型语言

要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用,更安全但是速度慢

弱类型语言

和强类型相反,要求变量的使用严格符合规定

数据类型

基本类型

Day03_04 一些基础

引用类型:除了基本类型,其他的都是引用类型

类(String,byte等),接口,数组

字节

什么是字节

位:计算机内部数据储存的最小单位,11001100是一位八位二进制数

字节:计算机中数据处理的基本单位,一般用B表示

字符:计算机中使用的字母,数字,字和符号

1B(byte,字节)=8bit(位)

1bit表示1位

1 byte = 8 b

1024 B = 1 KB

1024 KB = 1 M

1024 M = 1 G

1024 G = 1 TB

思考题:电脑的32位和64位的区别?

CPU,寻址能力,内存

拓展

整数

二进制:0b开头的

十进制:就正常看到的

八进制:0开头的

十六进制:0x开头的

浮点数

银行业务怎么表示,不建议用float和double

float 有限 离散 舍入误差 大约 近似但不等于

double

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

因此现在比较时应该用BigDecimal类,这是一种数学工具

字符类

所有字符本质上还是数字

编码 Unicode 2字节 最多表示65536个字符(Excel表格的长度最大到达2^16)

unicode编码从U0000一直到UFFFF

转义字符

\t 制表符

\n 换行符

类型转换

低----------------------------------------------------------------------------高

byte,short,char ----> int ----> long ----> float ----> double

强制类型转换

从低到高

自动类型转换

从高到低

注意点

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 在把高容量转换成低容量的时候,强制类型转换,反之,自动转换
  4. 转换的时候可能存在内存溢出,或者精度问题

变量

变量是什么

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

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

注意事项:

  1. 每个变量都有类型,可以是基本类型也可以是引用类型
  2. 变量名必须是合法的标识符
  3. 变量声明是一条完整的语句,因此每一个生命都必须以分号结束
  4. 不建议一行命名好几个变量

变量作用域

类变量 static

实例变量 和类变量很像但是不用static

局部变量

常量

final 放前放后都可以

final 变量类型 变量名 = 变量值

变量常量命名规范

  1. 所有的变量,方法,类名: 见名知意
  2. 类成员变量:首字母小写和驼峰原则:除了第一个单词后面的单词首字母大写
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线:MAX_VALUE
  5. 类名:首字母大写和驼峰原则:
  6. 方法名:首字母小写和驼峰原则

运算符

Day03_04 一些基础

逻辑运算符

与或非

与 &&:都真才真

或|| :都假才假

非!

短路运算

 //短路运算
        int c = 5 ;
        boolean d = (c<4)&&(c++<4);//因为与运算的第一项已经为false,则不会在进行后面的运算之后再去判断,称为短路运算
        System.out.println(d);
        System.out.println(c);

输出结果

false
5

位运算符

与或非等运算

与&,或|,非~(取反),异或^

就是对对应的每一位都取与或非等运算。

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

箭头指向哪边就是向哪边移动,这个左右移有点像进制上的左右移

0000 0000    0
0000 0001    1
0000 0010    2
0000 0011    3
0000 0100    4
0000 1000    8
0001 0000    16
System.out.println(2<<3);

运行结果

16

位运算效率高

扩展赋值运算符

+=

-=

*=

/=

字符串连接符

在加号运算符的两边,任意一边出现String类型,他就会把另外一个操作数或者其他操作数变成String类型,然后进行连接

        int A = 10 ;
        int B = 20 ;
        System.out.println(""+A+B);
        System.out.println(A+B+"");

运行结果

1020
30

字符串连接符也满足那个符号的运算顺序,好好理解。

三元运算符

条件运算符

?:

例如:x ?y :z

如果x==true,则结果为y;否则结果为z

int score = 80 ;
String result = score < 60 ? "不及格" : "及格" ;//返回结果为String类型
System.out.println(result);

运算符的优先级

Day03_04 一些基础

Day03_04 一些基础

上一篇:Day03.JDK安装与卸载


下一篇:三阶段课程Part1——Day03(函数扩展:箭头函数;类class;iterator迭代器)