JAVA基础--重新整理(1)后版

简介:

比较喜欢用demo来讲解。

变量

1
2
3
4
5
6
7
8
public static void main(String[] args) {
         int age; //变量声明
         age = 16 ; //变量的初始化,第一次赋值
         age = 15 ; //变量的赋值
         System.out.println(age); //15,   访问变量
         int score = 100 ; //变量声明初始化
         System.out.println(score);
     }

  这是关于变量的有些知识点,变量也就那些东西注意。就是声明,赋值。

二进制基础:

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) {
     int i = 15 ;
     System.out.println(Integer.toBinaryString(i));
     i = 'A' ;
     System.out.println(Integer.toBinaryString(i));
     i = 0xff ; //0x  是16进制的开头
     System.out.println(Integer.toBinaryString(i));
     i = '李' ;
     System.out.println(Integer.toBinaryString(i));
     //5(1024*1024) Byte
     //1 Byte = 8bit; 两位16进制表示
     //5M = 5* 1024 *1024 *2 个16进制字符
 
}

  在这里,有点可以重新记一下。

  1.计算机内部只有二进制,包括字符数据等。

  2.任何,'A','李' 都可以转换为二进制。值得注意的是,

    Integer.toBinaryString(); 这个方法能将我们一切用的转成计算机里面用的二进制。

  3.一般我们习惯的10进制数字  传到 计算机   ,计算机通过 转成二进制  进行传输。

类同的16进制,10进制:

  写几个注意点:

  16进制 是 2进制的简写。  用0x开头

  转换的方法:记住各进制常用的权就ok了。下面罗列下,举个例子。

   2  进制:1 2 4 8 16 32 64 128

   16进制:1 16 256

   例子:1111(2)=1*1+1*2+1*4+1*8=15(10)

      1000001(2)=64 +1 =65(10)

      0x101(16)=256+1=257

java 基础类型:

  四大类型:

   先整数:short一般不用我不写了。

    byte 8 bit -128 ~ 127

    int  32 bit -2G~2G-1

    long 64bit -2^63~2^63-1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class IntegerDemo {
     public static void main(String[] args) {
         short age = 120 ;
         int age1 = 120 ; //age age1 在java底层中内存  都是int类型.short 其实就是int
         int size = 1024 * 1024 * 1024 * 2 ;
         System.out.println(size); //-2147483648  超了int 范围
         //直接量
         long l = 1 ; //直接量,字面量
         //l = 20000000000;//错
         //System.out.println(l);
         l = 2200000000L ; //以L l 结尾的数字 为long 类型
         int a = 127 ;
         //byte b = a;//变量不能给小类型赋值
         long c = a;
     }
}

  上面demo中:

  1.在java底层中内存 都是int类型.short 其实就是int

  2.超了int 范围,会显示负值

  3.以L l 结尾的数字 为long 类型

  4.重要的一点:就是 变量不能给小类型赋值

在实际项目中也有些考虑的是,类似,QQ号,淘宝物品编号。。。想想应该用 long  或者 long long

  

  再讲浮点:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class FloatDemo {
     public static void main(String[] args) {
         int a = 0x7fffffff ;
         int b = 0x7ffffff0 ;
         float af = a;
         float bf = b;
         System.out.println(af); //计算机默认输出为10进制。2.14748365E9       10^9
         System.out.println(bf);
         System.out.println(a); //af  a 不同     因为  二进制取舍
         System.out.println(b);
         double da = a;
         double db = b;
         System.out.println(da);
         System.out.println(db);
         double d = 2.5 ; // double
         float f = 2 .5F; // F表示浮点类型的字面量
         double c = 3D;
         // f = 2.5 // 错
 
     }
}

  上面让我们学习了,

    1.浮点数就是小数。

    2.float f = 2.5//是错误的demo,,必须是2.5F

    3.由于精度不同,有些精确的时候,float 会不正确。所以一般用double

    4.写下一点计数法的知识:

      10001000(2)

      1000.1000*2^100(2)

      1.0001000*2^111(2)

      上面是等价的。

    5.double a = 3D;// D 表示

然后是char

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
public class CharDemo {
     public static void main(String[] args) {
         int i = 'A' ;
         System.out.println(i); // 65 A 的Unicode
         char c = '中' ;
         i = c;
         System.out.println(i); // 20013
         System.out.println(c); // 中
         // 结论字符是一个数字,是字符的Unicode编码值
         // println() 方法根据参数类型
         // 采用不同的输出方式,整数输出整数,字符输出字符
         System.out.println(( int ) 'B' ); // 66
         int n = 'B' - 'A' + 10 ;
         n = 'C' - 'A' + 10 ;
         n = 'A' - 'D' + 10 ;
         char ch = 'E' ;
         int num = ch - 'A' + 10 ; // 'E' 到 14
         System.out.println(num);
         ch = '5' ;
         num = ch - '1' ;
         System.out.println(num); // '5' - '1'  转到 4
         num = ch;
         System.out.println(num); //53
         char chr = 'A'  3 ;
         System.out.println(chr); //D
         
         Random r = new Random();
         int x = r.nextInt( 26 ); // 随机数x的范围 属于[0,26)
         chr = ( char )( 'A' + x);
         System.out.println(chr); // A~Z
         
         char cx = 0 ;
         char cy = '0' ;
         System.out.println(cx);
         System.out.println(cy);
         
         char xx = '\'' ;
         xx= '\\' ;
         xx= '\u0041' ;
         xx= '\u0000' ;
         
         System.out.println( 0 == '\u0000' );
         System.out.println( '0' == '\u0000' ); //false
         // \n \r \t \' \" \\
         System.out.println( "a\tmd\nnd" );
         System.out.println( "OK\u0000123" );
     }
}

  我就罗列下上面demo的重要点:

  1.最重要:采用不同的输出方式,整数输出整数,字符输出字符

  2. println() 方法根据参数类型

  3.'\'表示转译

 byte-short-int-long-float-double

  从大到小要强转,强转有风险,会造成精度损失或溢出

相关文章
|
5月前
|
存储 缓存 Java
最新Java基础系列课程--Day10-IO流文件处理
最新Java基础系列课程--Day10-IO流文件处理
|
5月前
|
存储 Java
最新Java基础系列课程--Day10-IO流文件处理(一)
最新Java基础系列课程--Day10-IO流文件处理
|
10天前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
41 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
4月前
|
Java
【Java基础】输入输出流(IO流)
Java基础、输入输出流、IO流、流的概念、输入输出流的类层次结构图、使用 InputStream 和 OutputStream流类、使用 Reader 和 Writer 流类
152 2
|
1月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
4月前
|
安全 Java
|
4月前
|
搜索推荐 算法 Java
【Java基础】 几种简单的算法排序
几种简单的JAVA算法排序
49 4
|
4月前
|
存储 缓存 Java
Java基础17-读懂Java IO流和常见面试题(二)
Java基础17-读懂Java IO流和常见面试题(二)
40 0
|
4月前
|
存储 Java Unix
Java基础17-读懂Java IO流和常见面试题(一)
Java基础16-读懂Java IO流和常见面试题(一)
65 0
|
5月前
|
Java
Java基础教程(12)-Java中的IO流
【4月更文挑战第12天】Java IO涉及输入输出,包括从外部读取数据到内存(如文件、网络)和从内存输出到外部。流是信息传输的抽象,分为字节流和字符流。字节流处理二进制数据,如InputStream和OutputStream,而字符流处理Unicode字符,如Reader和Writer。File对象用于文件和目录操作,Path对象简化了路径处理。ZipInputStream和ZipOutputStream则用于读写zip文件。