Java语言基础

Posted wood-life

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java语言基础相关的知识,希望对你有一定的参考价值。

1   Java的数据类型

两类数据类型:

l  基本类型(8种)

l  引用类型

 

2   八种基本类型

byte

1

-128到127,-27到27-1

short

2

-215到215-1

int

4

-231到231-1

long

8

-263到263-1

float

4

单精度

IEEE 754规范

美国电子电气工程师协会浮点数表示规范

double

8

双精度

char

2

字符,或字符的整数编码

0到65535

0到216-1

boolean

1

真 true    00000001

假 flase   00000000

 

 

 

2.1     计算机中的存储单位

bit - 电位

byte - 8 bit

Kb - 1024 byte

Mb - 1024 Kb

Gb - 1024 Mb

Tb - 1024 Gb

Pb - 1024 Tb

...

 

 

2.2     byte类型如何表示整数

10000000    -128

...

11111011    -5

11111100    -4

11111101    -3

11111110    -2

11111111    -1

 

00000000    0

00000001    1

00000010    2

00000011    3

00000100    4

00000101    5

00000110    6

00000111    7

00001000    8

...

01111111    127

 

 

2.3     二进制

83709

8*104

3*103

7*102

9*100

101101

25

23

22

20

 

49

490

4900

49000

 

 

 

101 5

1010 10

10100 20

101000 40

 

 

 

384

 

除2取余

375/2 187 余 1

187/2 93 余 1

93/2 46 余 1

46/2 23 余 0

23/2 11 余 1

11/2 5 余 1

5/2 2 余 1

2/2 1 余 0

1/2 0余1

 

 

1 1

10 2

100 4

1000 8

10000 16

100000 32

1000000 64

10000000 128

100000000 256

1000000000 512

10000000000 1024

 

 

1000个苹果,分装几箱,不管客户要多少苹果,都整箱交付

 

 

 

2.4     char

Unicode编码表

0

?

1

?

3

?

4

?

...

 

65

A

66

B

...

 

97

a

98

b

...

 

20013

 

 

65535

 

 

 

char c1 = ‘a‘;

char c2 = 97;

char c3 = ‘中‘;

char c4 = 20013;

 

 

2.5     基本类型的字面值规则(5条)

  1. 整数字面值,是int类型

 

int a = 6535;

//右侧字面值是int,但超出int范围

long a = 9999999999;

 

  1. byte,short,char比int小的整数,可以用范围内的值,直接赋值

 

byte a = 127;//byte类型

byte a = 128;//int类型

 

  1. 浮点数字面值是double类型

 

double a = 3.14;

//错,右侧是 double

float a = 3.14;

 

  1. 字面值后缀

 

L - long

    

    long a = 9999999999L;

 

F - float

 

    float a = 3.14f;

 

D - double

 

    double a = 3.0;

    double a = 3d;

 

  1. 进制前缀

 

0x - 16进制

     

      0xff    255

 

0 - 8进制

 

      01234567

     

      0377   255

 

u - char类型16进制

 

      必须完整表示char类型的两个字节值

      ‘a‘   97      ‘u0061‘

      ‘中‘  20013   ‘u4e2d‘

 

 

2.6     16进制

0123456789abcdef

 

c8af

12*163

8*162

10*161

15*160

 

f - 1111

ff - 11111111

 

l  二进制4位,可以足够表示所有16进制数字字符

l  一个16进制字符,可以二进制的4位

l  两个16进制字符,可以表示8位,即一个字节值

 

10111010 01101011 00001110 11110110

ba 6b 0e f6

 

 

2.7     基本类型的运算规则(5条)

  1. 计算结果的数据类型,与最大的类型一致

 

3/2 得 1

3d/2 得 1.5

 

  1. byte,short,char三种比int小的整数,运算时,会先变成int

 

byte a = 3;

byte b = 4;

//错,右侧是int+int,结果是int

byte c = a + b;

 

  1. 整数运算溢出

 

Integer.MAX_VALUE+1

得负数最小值

 

 

2.8     基本类型的类型转换

2.8.1 小的类型转大的类型

 

 

l  自动转换,不需要写转型运算

l  转成浮点数,可能会不精确

 

byte a = 127;

int b = a;

 

01111111

00000000 00000000 00000000 01111111

 

byte a = -1;

int b = a;

 

11111111

11111111 11111111 11111111 11111111

 

 

2.8.2 大的类型转小的类型

int a = 356;

byte b = (byte) a; //强制转型运算

 

00000000 00000000 00000001 01100100

01100100

 

l  可能引起数据损失

l  必须手动转型、强制转型

l  浮点数转成整数,小数直接舍弃

 

 

3   运算符

+-*/

 

+

数学运算

字符串连接

%

取余、求模

判断a能否被4整除

a%4取余,余数是0能整出,不是0不能整除

==

是否相等

!=

是否不相等

> >= < <=

比较大小

 

 

 

 

 

 

 

 

代码

package day0101;

public class Test1 {
    public static void main(String[] args) {
        /* 八个变量 abcdefgh,
         * 保存四种整数的最小值和最大值 */
        byte a = -128;
        byte b = 127;
        /* jdk类库中的 Short 类
         * 中的常量 MIN_VALUE */
        short c = Short.MIN_VALUE;
        short d = Short.MAX_VALUE;
        int e = Integer.MIN_VALUE;
        int f = Integer.MAX_VALUE;
        long g = Long.MIN_VALUE;
        long h = Long.MAX_VALUE;
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
        System.out.println(f);
        System.out.println(g);
        System.out.println(h);
    }
}

技术分享图片

 

技术分享图片

 

技术分享图片

 

 

 

 

以上是关于Java语言基础的主要内容,如果未能解决你的问题,请参考以下文章

java代码在片段活动中不起作用

java 代码片段【JAVA】

# Java 常用代码片段

# Java 常用代码片段

创建片段而不从 java 代码实例化它

如何重构这个 Java 代码片段