黑马程序员--Java基础(一)
来源:互联网 发布:下载torrent的软件 编辑:程序博客网 时间:2024/06/06 02:25
JAVA基础
1. 关键字:被赋予了特殊含义的单词,所有字母都为小写
2. 标示符:为类,变量和方法起的名字
a) 以英文字母,数字,$以及_组成
b) 不能以数字开头。
c) 不能是Java中的关键字。
d) 区分大小写
i. 包要全部小写 xxxyyyzzz
ii. 类和接口的每个单词首字母都要大写 XxxYyyZzz
iii. 变量和方法:第一个单词的首字母要小写xxxYyyZzz
iv. 常量:全部大写单词用_连接 xxx_YYY_ZZZ
3. 注释:对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行
a) 单行注释 //XXX
b) 多行注释 /*XXX*/
c) 文档注释 /** XXX *
/**声明一个类 网
页文件形式体现的该程序的说明文档。
@author itcast
@version V1.0
*/
class Firstjava{
//主函数是是不需要对类进行实例化就可以执行的,所以就要修饰为静态的
public static void main(String[] args){
//由于没有导入System.out的类库则需要带上对应的路径调用打印方法
System.out.println("hello world");
}
}
4. 注释是一个程序员必须要具有的良好编程习惯。
a) 初学者编写程序可以养成习惯:先写注释再写代码。
b) 将自己的思想通过注释先整理出来,在用代码去体现 v
5. 常量:程序中运算值不会发生变化
a) 字面常量:整数常量,实数常量,字符常量,布尔常量,null常量
b) 自定义常量:final??
6. 进制:人们规定的进位方式
a) 二进制 binary 国际化标准组织利用8个开关表示一个数据 01;0b表示
b) 十进制 decimal 0 ~ 9 ;0开头
c) 八进制 octal 0 ~7;
d) 十六进制 hex 0 ~9 A~F ;0x表示
e)
f) 系数:每位上的数据,基数:X进制,基数就是X,权:数据从最后一位开始的编号且从0开始
g) 结果:把系数*基数^权次幂相加
h) 二进制:次数和对应十进制
1 2 3 4 5 6 7 8 9 10
2 4 8 16 32 64 128 256 512 1024
二进制: 0b100101 32+4+1=37
八进制: 074 7*8+4=56+4=60
十六进制: 0xf4 15*16+4=244
7. 原码、补码、反码
a) 原码:使用最左一位作为符号位:0表示正数,1表示负数(最初表示)
b) 反码:为了将原码转换为补码而存在的,即:除了符号位以外将每位取反
c) 补码(计算机识别):在计算机中实际上只有加法,为了更简单地计算利用计算机会舍弃最左边进位,以及每个正数都有对应的负数的特点,将负数取反同时加上1,这样一来就可以对将减法运算转换成加法运算即:正数加上一个负数的补码,最左边的进位会被舍弃,所以就可以得到减法最后的结果的补码
8. 变量:在内存中用于存放同一类型的变量,可在指定范围内能重复使用
9. 数据类型:java是强类型语言,需要明确数据类型
a) 基本数据类型:八种四大类:byte(1),short(2),int(4),long(8),float(4),double(8),char(2)因为java用的Unicode编码的,占用2个字符,boolean
b) 引用数据类型:class,interface,[]数组
c) 对long 的赋值是要加L
d) 单精度类型(7~8位有效数字)float 赋值是要加F
e) 双精度类型(15~16位有效数字)
f) 对于整数常量系统默认为int,小数则默认为double
10. 类型转换
a) 隐式转换:(byte,short,char) --> int --> long --> float --> double
b) 强制转换:int b;b=(byte)(b+2)
c) 特别的虽然long是8个字节,而float是4个字节,由于float是浮点类型的其表示的范围比long的范围大得多,所以从long-->float的转换是默认转换的
d) 如果强制转换byte b=(byte)130,130的原码为100010为负数取补码为111100结果为 -126
e) char、short、byte在进行计算时会自动提升类型到int 如 byte b=(byte)(b1+b2)
f) 注意:byte b = 4;
byte b1 = 3;
byte b2 = 7
b=b1+b2;//编译时损失精度,应为b1和b2是变量,不是确定的值,不能检查
class IntToByte{
public static void main(String[] args) {
byte b=1;
b=1+1;//这里是int->byte,初始化赋值时系统可以强转
System.out.println(b);
int a=1;
b=(byte)(a+1);//这里要进行强制转换
System.out.println(b);
}
}
11. ASCII编码表
a) ‘A’--65 ,’a’--97,’0’--48
b) 字符对应的数值组成的表为ASCII表
12. 运算符(6类运算符)
a) 算术运算符 +,-,*,/,%,++,-- (对++、--的操作:如果在数据的后边,数据先操作,再++/-- , 如果在数据的前边,数据先++/--,再操作)
b) 特殊:k=2; k=k++ 问结果是:2
c) 赋值运算符 =,+=,-=,*=,/=,%= 这里的如+=的赋值运算包含了强制类型转换
d) 关系运算符 ==,!=,>,>=,<,<=
e) 逻辑运算符(6个):用于连接结果是布尔表达式的运算符
i. &与运算 |或运算 ^异或运算 !非运算 && 短路与运算 || 短路或运算
ii. -|-&&的特殊之处:左边运算为false时右边不参与运算,而 & 却都运算完
iii. -|-||的特殊之处:左边运算为true时右边不参与运算,而 | 却都运算完
f) 位运算符(直接对二进制进行运算)<<左移运算 >>右移运算(高位是0则补0高位是1则补1) >>>无符号右移运算(不考虑符号位,一律补0) &与运算 |或运算 -|- ^异或运算 两边表达式或二进制数不同则为真(^一个数异或同一个数两次,结果还是这个数) ~反码运算
g) 三元运算符:(条件表达式)?表达式1:表达式2 ;
h) 运算符优先级:
- 黑马程序员--java基础(一)
- 黑马程序员---java基础(一)
- 黑马程序员-java基础(一)
- 黑马程序员-- 一、java基础
- 黑马程序员--------------JAVA基础(一)
- 黑马程序员--Java基础(一)
- 黑马程序员-----java基础加强(一)
- 黑马程序员--Java入门基础(一)
- [黑马程序员]--Java语言基础一
- 黑马程序员-java基础强化(一)
- 黑马程序员--Java基础小结(一)
- 黑马程序员--Java基础加强(一)
- 黑马程序员 java基础复习一
- 黑马程序员——Java基础一
- 黑马程序员 JAVA基础篇(一)
- 黑马程序员--Java基础--09IO(一)
- 黑马程序员-java基础加强(一)
- 黑马程序员 Java面向对象<一> 基础
- Java中的字符编码(Unicode、UTF-8、UTF-16)的那些事儿
- Oozie Coordinator使用及详解
- Unity让敌人缓慢转向,并且跟踪玩家
- Hbase优秀博客
- UIView的sizeToFit:和fitSize方法
- 黑马程序员--Java基础(一)
- 亲密接触,虚拟现实最重要和最困难的未来
- 指针和指针变量
- Android内存优化大全(二)
- jquery.chosen.js实现模糊搜索
- 史上最详细的Android Studio系列教程(二)
- mysql数据库的字符集相关
- CSS三栏布局——中间固定两边自适应宽度
- Visual assist 关于bool变量不可识别的问题