java bar_Java基础(一)

Java基础笔记(一)

关键字

定义:被java赋予特殊含义,用作专门用途的字符串(单词)

特点:所有的关键字都是小写

保留字

现有java版本尚未使用的字符串,但未来极有可能会使用。因此在编写程序的时候,应当尽量避开。

byValue、cast、future、 generic、 inner、 operator、 outer、 rest、 var 、 goto 、const

标识符

特点: java对各种变量、方法、类命名使用的字符串

更简单的说法是:可以自己命名的地方都是标识符

标识符的特点

由26个英文字母大小写,数字,_或者$组成。

数字不能开头

不可以使用关键字保留字

java语言区分大小写

命令规范:

包名:多单词组成时所有字母都小写:xxxyyyzzz

类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz

变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz

常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

变量类型

基本数据类型(八种)

字符

char

char表示字符类型,2个字节。char因为有对应的Unicode编码,因此它是可以进行运算的。

整数类型

byte, short, int, long

浮点类型

float, double

浮点类型默认是double类型,float要加f或者F

布尔

boolean

只允许true 或者 false 连个值,没有null

各类型取值范围

类型

存储空间

表数范围

byte

1字节

-128 ~ 127

short

2

-215 ~215-1

int

4

-231 ~ 231-1

long

8

-263 ~ 263-1

float

4

-3.403E38 ~ 3.403E38

double

8

-1.798E308 ~ 1.798E308

boolean

true/false

虽然float是4个字节,long是8个字节,但是float能表述的范围却比long类型的大。这个涉及到底部结构,float一共32位,第一位是符号位表示正负(s),从二位-九位表示指数域(E),剩余23位表示小数域,即M,M的取值范围为[1,2)或[0,1),使用公式V=(-1)^s * M * 2^E进行换算。而long类型表示的是-2的n-1次方到(2的n-1)-1。这样就不难看出float的范围更大。

Java虚拟机中没有任何供boolean值专用的字节码指令,java语言表达所操作的boolean值,在编译之后都使用java虚拟机中的int数据类型来代替:true用1表示,false用0表示《java虚拟机规范 8版》

基本数据类型转化

graph LR

byte-->int

char-->int

short-->int

int-->long

long-->float

float-->double

自动类型转换

容量小的类型向容量大的类型转换

有多种类型数据混合运算时,会先转化成容量最大的类型

byte、short、char之间不会相互转换,三者在转换时都转换成int类型

当把任何基本类型的值和字符串(String)进行连接运算时(+),基本类型的值将自动转化为字符串类型。

String str1 = 4; //判断对错:no

String str2 = 3.5f + “”; //判断str2对错:yes

System.out.println(str2); //输出:3.5

System.out .println(3+4+“Hello!”); //输出:7Hello!

System.out.println(“Hello!”+3+4); //输出:Hello!34

System.out.println(‘a’+1+“Hello!”); //输出:98Hello!

System.out.println(“Hello”+‘a’+1); //输出:Helloa1

强制类型转化

自动类型转化的逆过程,可能会造成精度缺失。

public static void main(String[] args) {

float num1 = 3.2f;

int num2 = (int) num1;

System.out.println(num2);

}

结果: 3 缺失了精度

字符串可以通过基本数据类型的包装类进行转化(不包含boolean)

String a = "43";

int i = Integer.parseInt(a);

System.out.println(i);

结果: 43

1) short s = 5;

s = s-2; //判断:no

2) byte b = 3;

b = b + 4; //判断:no

b = (byte)(b+4); //判断:yes

3) char c = ‘a’;

int i = 5;

float d = .314F;

double result = c+i+d; //判断:yes

4) byte b = 5;

short s = 3;

short t = s + b; //判断:no

引用数据类型(这些知识点会在以后文章中介绍)

接口

数组

e14df33f47fb84fbbf2951141b2674e4.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值