2017年6月29日 上午10:12
java的命名首字符 可以是字符,下划线,$。不可以是关键字,保留字,%等。
类型转换 正文内容:类型转换向大的类型转换。 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的特点
break不是跳出for而是跳出switch
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. 输出时的方式不同