黑马程序员技术交流社区
标题: java基础贴 [打印本页]
作者: zja666 时间: 2018-5-13 00:24
标题: java基础贴
本帖最后由 zja666 于 2018-5-13 00:27 编辑
篇幅有限,捡一些写一下:
编译和java程序的运行关系:
1.java源文件(.java文件)
2.通过java编译器(javac.exe)
3.生成了java字节码文件(.class文件)
4.再由执行器(java.exe)将字节码文件加载到java虚拟机
5.字节码文件(.class)就会在java虚拟机中执行
注释:用于解释说明程序的文字,方便自己或者他人阅读代码
分类:
1.单行注释//
2.多行注释/* */
3.文档注释/** */
注意:
多行注释是不可以嵌套使用的,单行注释是可以的。多行注释是*/结尾的,只能有一个
多行注释与文档注释的区别: 多行注释的内容不能用于生成一个开发者文档,而文档注释 的内容可以生产一个开发者文档。
源反补:
源码:一个数的二进制表示法就是这个数的原码(负数的最高位是1,正数的最高位是0)
正数的源反补都是相同的
负数的反码是符号位不变,其他位取反,即0变1,1变0
负数的补码是反码+1
计算机里面使用补码进行运算的。
字符串参与运算
字符串后面的+,就是将元素都看做是字符串,字符串前面的加就是正常的int加运算
字符串数据和其他数据做+,结果是字符串类型。
这里的+不是加法运算,而是字符串连接符。
字符的+是加法运算
++和--的用法
a:他们的作用是自增或者自减
b:使用
**单独使用
放在操作数据的前面和后面效果一样。
a++或者++a效果一样。
**参与操作使用,前加加或者后加加,参与运算的那个值都要是一个确定的值 ++(++a)--这样是不行的
放在操作数的前面:先自增或者自减,再参与操作
int a= 10;
int b= ++a;
放在操作数的后面:先参与操作,再自增或者自减
int a= 10;
int b= a++;
对于关系操作符 ==:
若操作数的类型是基本数据类型,则该关系操作符判断的是左右两边操作数的值是否相等,其实也是比较地址,比较的是字符串常量池里面的地址
若操作数的类型是引用数据类型,则该关系操作符判断的是左右两边操作数的内存地址是否相同。
next()与nextline()的区别
/t相当于键盘的Tab键,/n换行New Line,/r回车Carriage Return,
基本的概念应该是回车表示回到最前面,换行表示换一行。
操作系统的不同,换行符操也不同:
char cal = sc.next().charAt(0);//保存键盘录入的char类型数据
/r Mac
/n Unix/Linux
/r/n Windows
这些都是空字符。
nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
next()会自动消去有效字符前的空格,只返回输入的字符,不能得到带空格的字符串。
在同时有nextInt()与next(),输出整数和字符串必须这样,不然就要写出nextline()后在写nextInt(),颠倒就不会输出字符串
不过在大型程序中,大约每100行,写一个nextLine(),来消除空字符对内存的堆积。
字符串:
String s=new String("hello");和Strings="hello"的区别
前者会创建2个对象,后者只会创建1个对象
==:比较引用类型,比较的是地址值是否相同
equals:比较引用类型默认也是比较地址值是否相同,而String类重写了equals()方法
比较的是内容是否相同
字符串拼接
字符串如果是变量相加,先开空间,再拼接
字符串如果是常量相加,是先加,然后在常量池找,如果有就直接返回,否则,就创建
0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符)
控制符如:LF(换行),CR(回车),FF(换页),DEL(删除),BS(退格),BEL(振铃)等
Sting,StringBuffer,StringBuilder的区别
String是内容不可变的,而StringBuffer,StringBuilder都是内容可变的
StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步,数据不安全,效率高
集合和数组的区别: A:长度区别
数组固定
集合可变
B:内容区别
数组可以是基本类型,也可以是引用类型
集合只能是引用类型
C:元素内容
数组只能存储同一种类型
集合可以存储不同类型(其实集合一般存储的也是同一种类型)
作者: 小浙姐姐 时间: 2018-5-15 12:07
学到了不少呢,
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |