01-Java基础-1

1.java中的比较: ==

基本类型:比较的是数据值是否相同 
引用类型:比较的是内存地址,注意内存地址不等同与hashCode方法的返回值

2.字符串比较

equals:比较字符串值是否相等 
==:比较的是地址hash值 

特别注意:
String a = new String("abc");
String b = "abc";
String c = "abc";
a.equals(b) ----->true
a==b  ----->false
b.equals(c) ----->true
b==c ----->true

因为:  
    1.通过关键字new 出来的字符串会单独开辟一个内存空间,内存地址hash值不同(Object对象的hashCode()方法的返回值),每次都不一样;    
    2.直接赋值的形式的字符串都会进入字符串常量池,全局共享一个  

3.数据类型转换

4.java.lang包下的所有类无需导入,默认导入

5.方法参数:

6.水仙花数:

代码示例:

7.反转一个int数组

8.JDK(Java Development Kit) 和 JRE(Java Runtime Environment) 和 JVM(Java Virtual Machine)

9.逻辑运算符

符号

作用

说明

&

逻辑与

a&b,a和b都是true,结果为true,否则为false

I

逻辑或

aIb,a和b都是false,结果为false,否则为true

^

逻辑异或

a^b,a和b结果不同为true,相同为false

!

逻辑非

!a,结果和a的结果正好相反

10.变量和常量的运算(类型转换)

例子1:

例子2:

11.构造方法

12.键盘录入 Scanner

13.伪随机数Random 和 真 随机数 SecureRandom

1.伪随机数Random:如果传入的seed一定,则产生的随机数序列其实是固定的,如果不出人,默认使用系统时间当seed

例子

2.真随机数 SecureRandom

使用:SecureRandom 继承了 Random

14.String

15.StringBuilder

16.StringBuilder 和 String 相互转换

17.String 和 StringBuilder的区别

18.ArrayList

19.各种数据类型占用字节大小

一、Java基本数据类型

8 种基本类型

  • 基本数据类型有8种:byte、short、int、long、float、double、boolean、char

分为4类:整数型、浮点型、布尔型、字符型。

  • 整数型:byte (1字节)、short(2字节)、int(4字节)、long(8字节)

  • 浮点型:float (4字节)、double(8字节)

  • 布尔型:boolean (1字节,不是1bit)

  • 字符型:char (2字节)

20.java中的变量什么时候需要初始化

  1. 对于类的成员变量,不管程序有没有显式的进行初始化,Java虚拟机都会先自动给它初始化为默认值。

    默认值如下: Boolean false Char '\u0000'(null) byte (byte)0 short (short)0 int 0 long 0L float 0.0f double 0.0d

  2. 局部变量声明之后,Java虚拟机就不会自动给它初始化为默认值,因此局部变量的使用必须先经过显式的初始化。 但是需要声明的是:对于只负责接收一个表达式的值的局部变量可以不初始化,参与运算和直接输出等其它情况的局部变量需要初始化。

    通过下面这个测试可以看到JVM对哪些数据初始化,哪写数据不初始化:

    public class TestStatic { static int x; //类的成员变量,JVM负责初始化 static int method() { int y=0; //此处必须自己初始化,它不属于类成员变量,是个method的局部变量,JVM不负责初始化

    } public static void main(String[] args) { TestStatic as=new TestStatic(); int z=0; //此处必须自己初始化,它不属于类成员变量,是个主函数里的局部变量,JVM不负责初始化 int aa=3; //此处aa参与了运算,所以必须初始化 aa=aa+2; int a=1,b=2,max; //max只是负责接收表达式的值,不需要初始化 max=a>b?2:1; System.out.println(max); //1 System.out.println(aa); //5 System.out.println("z="+z); //z=0 System.out.println("x="+as.x); //x=0

    } } 总结为一句话便是: 类里定义的数据成员称为属性,属性可不赋初值,若不赋初值则JAVA会按上表为其添加默认值; 方法里定义的数据成员称为变量,变量在参与运算之前必须赋初值,如果没有参与运算只负责接收计算结果可不赋初值

21. java中switch case的用法注意事项:

Last updated