0%

6.15-6.27重点总结

2017年6月29日 上午10:12

java的命名首字符

可以是字符,下划线,$。不可以是关键字,保留字,%等。

1
int $1= 1;
int _1 = 1;

类型转换

正文内容:类型转换向大的类型转换。
Eg:
1. char sex = 12 + ‘c’;1.7不会报错,但是不能超过char的容量和ASSIC
2. int age = 20 ;
char sex = age + ‘c’;编译错
3. int age = (int)1234566789;运行报错out of range 不能抢转
4. boolean yes = 1 ; 编译错

进制

1. int n2 = 01;八进制
2. int n3 = 0x1;16进制 

switch注意事项

1. dk1.6中switch不可以字符串 ,double 都不支持
2. 条件-确定区间的开头,break决定退出
3. 不要少break
4. 于if的不同:
    1. switch 可以转换成if ,但是if不一定能转成switch
    2. switch 有类型的限制,而if没有

for 和 switch连用,break和continue的特点

  1. break不是跳出for而是跳出switch
  2. continue和if中的一样,后面的不执行了
    1
    for(int i =  0; i <= 10 ;i++){
    	switch(2){
    		case 1:
    			System.out.println("1");
    			continue;
    		case 2:
    			System.out.println("2");
    			break;
    	}
    	System.out.println("3");
    }

null

null是没有空间的

1. 包名小写 
2. 不以.为开头 
3. ;结尾

String 的使用

1. java.lang包
2. String str = "";长度为0
3. String str = " ";长度为1
4. 中文的长度也是1
5. String类是final类
6. == 内存池
7. equals()的比较原理 一个个字符的比较
8. == 比较是不是相同的地址,内存的首地址

大小写转换
1
toLowerCase()
toUpperCase()
equalsIgnoreCase()
A.concat(B);B接到A后面
1
String s1 = "你好";
String name ="张三";
String sen = s1.concat(name);
;不影响s1的值
s1 = s1.concat(name);
;这个才影响s1的值
提取下标1:返回第一个匹配的位置
1
indexOf(int ch);
indexOf(String value);

lastIndexOf(int ch)
lastIndexOf(String value)
提取内容2:返回字符串的一部分
1
subString(int index);
subString(int index_start,int index_end);包括start不包括end
tirm();清楚前后空格,重新产生对象,不影响本身
替换
1
str.replace()->替换replace
转换类型:
1
str.valueOf() -> 字符串 -> toCharArray()
			           -> charAt()

存储

1. 栈区:编译器自动分配释放
        1. 存放函数值+局部变量
2. 堆:有程序员new分配释放,若程序员不释放,程序结束时os释放     
3. 全局区:全局变量+静态变量  放在堆中初始化之后放在一起,没有初始化的放在旁边的一块区域。程序结束后系统释放
4. 文字常量区:“abc”
5. 程序代码区:

重载

1
public void print(int a , String b);
public void print(String a,int b);//是重载

public void print(int a ,int b);
public void print(int b,int a);//不是重载
重载的条件
1. 同一个类中
2. 参数列表不同
3. 方法名相同
4. 和返回值,访问修饰符无关

override 重写
overlad 重载

static

static 三种用途
1. 属性 在堆中 位置:全局变量+static方法中
2. 静态块 常用去提前配置 (可以把括号理解成一种简写方式)

1
static {
	syso("*************")
}
3. 方法

不能直接访问非静态的方法+成员变量(也不能定义)
可以通过 对象. 去访问

1
public void play(){
	static int local = 5;    错
}

char于int的关系

举例:

1
char x= 100;	
System.out.println(x);//d
System.out.println(x + 0);//100

int y = 100;
System.out.println(y);//100
System.out.println((char)y);//d
输出:
    d
    100
    100
    d

总结:他们内存本质是一样的,唯二的区别是
        1. int是16位,char是8位
        2. 输出时的方式不同