Java 复习(一)

Java 复习(一)

1. java特性和优势

简单性

面向对象

可移植性(java虚拟机)

高性能

分布式

动态性

多线程

安全性

健壮性

2. JDK、JRE、JVM

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7mODMemn-1614610156045)(https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic002.cnblogs.com%2Fimages%2F2012%2F382439%2F2012031917123015.jpg&refer=http%3A%2F%2Fpic002.cnblogs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1617102522&t=93ad43c697843a1f3a9053dafa0389c5)]

JDK:Java Development Kit

JRE:Java Runtime Environment

JVM:Java Virtual Machine

3. 标识符

关键字:

关键字

标识符注意点:

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($) 、或者下划线( _ )开始

  • 首字符之后可以是字母(A-Z或者a-z),美元符($) 、或者下划线( _ )或数字的任何字符组合

  • 不能使用关键字作为变量名或方法名。

  • 标识符是大小写敏感的

  • 合法标识符举例:age、$salary、. value、_1_value

  • 非法标识符举例:123abc、-salary、.#abc

4. 数据类型

4.1 强类型语言

要求变量的使用严格符合规定,所有变量必须先定义后使用

4.2 什么是字节

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

字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示。1B(byte,字节)= 8bit(位)

字符:是指计算机中使用的字母、数字、字和符号。

4.3 Java的数据类型

  • 基本类型(primitive type)
  • 引用类型(reference type)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l7Ejls49-1614610156049)(https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fp1.jquerycn.cn%2F111cn%2F3%2F0%2F1474650195_6131.jpg&refer=http%3A%2F%2Fp1.jquerycn.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1617103667&t=ce6ce696c4e7c9b77c9eb6ecab0d4bf6)]

4.3.1 基本类型

整数类型:

byte:占1个字节范围:-128~127

short:占2个字节范围:-32768~32767

int:占4个字节范围:-2147483648~2147483647

long:占8个字节范围:-9223372036854775808~9223372036854775807

浮点类型:

float:占4个字节范围:-3.4E38~3.4E38

double:占8个字节范围:-1.7E308~1.7E308

字符类型:

char:占2个字节范围

布尔类型:

Boolean:占1个字节范围

4.3.2 引用类型

类:

String:

    public void test1(){
        String str1 = "Hello";
        String str2 = "Hello";

        String str3 = new String("Hello");
        String str4 = new String("Hello");

        System.out.println(str1 == str2);
        System.out.println(str3 == str4);
    }

结果:true false

原因:

接口:

数组:

4.3.3 转义字符

转义字符

4.4 变量

类变量、实例变量、局部变量

public class var {
    static int a = 0; //类变量

    String str = "Hello"; //实例变量 从属于对象 如果不进行初始化,就会赋默认值
    int a;                //int 默认值为0; boolean默认值为false
                          //除了基本类型,其余都是null;
    public void method(){
        int i = 0; //局部变量 必须声明和初始化值
        System.out.println(i);
        System.out.println(a);
    }
}

4.5 常量

常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。

所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

常量名一般使用大写字符

//final 常量名 = 值;
final double PI = 3.14;

4.6 变量命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则: monthSalary 除了第一个单词以外,后面的单词首字母大写
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(),runRun()

4.7 运算符

  • 算术运算符:+,-,*,/,%,++,–
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!= instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>(了解! ! ! )
  • 条件运算符:? :
  • 扩展赋值运算符:+=,-=,*=,/=
4.7.1 短路运算
  • 要使(表达式1)&&(表达式2)运算结果为真则要求:表达式1,表达式2都为真,如果表达式1为假,则不计算表达式2了,因为此时已经确定(表达式1)&&(表达式2)运算结果不可能为真,这就是&&运算的短路特性。
  • 要使(表达式1)||(表达式2)运算结果为假则要求:表达式1,表达式2都为假,如果表达式1为真,则不计算表达式2了,因为此时已经确定(表达式1)||(表达式2)运算结果不可能为假,这就是||运算的短路特性。
    public void test01(){
        int x = 0;
        int y = 10;
        System.out.println((y < 0) && (0 > x++)); // &&取false 只要前面判断为false,后面的判断就不会执行
        System.out.println("x:"+x);
        System.out.println((y > 0) || (0 > x--)); // ||取true 只要前面判断为true,后面的判断就不会执行
        System.out.println("x:"+x);
    }
/*执行结果:
		false
		x:0
		true
		x:0
*/
4.7.2 位运算(二进制运算)
A = 0011 1100
B = 0000 1110
A&B = 0000 1100 都是1则为1 有0为0
A|B = 0011 1110 都是0则为0 有1为1
A^B = 0011 0010 相同为0 不相同为1
~A = 1100 0011 完全相反

<<
>>
面试题:
2*8怎么算最快
2*8 = 16 = 2*2*2*2
2<<3
0000 0010 2 左移三位
0001 0000 16
效率极高
4.7.3 字符串连接符
    public void test2(){
        int a = 10;
        int b = 20;
        System.out.println(""+a+b); //1020 ""在前面,会拼接
        System.out.println(a+b+""); //30   ""在后面会先运算在拼接
    }
4.7.4 三元运算符
public void test3(){
    int a = 1;
    int b = 2;
    System.out.println(a > b ? "大于" : "不大于");
}
//结果 不大于
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值