黑马程序员_总结2-java基础语法1
来源:互联网 发布:js 中数组删除指定元素 编辑:程序博客网 时间:2024/06/06 10:34
----------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
第二章Java基础语法1
知识点
一、关键字
二、标识符
三、注释
四、常量
五、变量
六、数据类型
七、运算符
--------------------------------------------------------------------------
一、关键字
1、被Java语言赋予特殊意义的单词。
2、特点:Java语言中的所有关键字全部是小写。
3、注意事项:goto和const作为保留字存在,没有被使用。(在新版本中可能提升为关键字)
二、标识符
1、就是给类,变量,方法起名字的名词。
2、组成规则:由数字0-9,英文大小写字母,$以及_组成。
3、注意事项:
(1)只能由组成规则规定的内容组成。
(2)不能以数字开头。
(3)不能是Java中的关键字。
(4)区分大小写。
4、常用的命名规则:见名知意,驼峰命名
(1)包(文件夹,用于区分同名的类):全部小写。如果多级包,用点.分开。
举例:com一级包;cn.it二级包
注意:多级包常用域名的反写
(2)类和接口:
A:如果是一个单词,首字母大写。
举例:Demo,Test,Student
B:如果是多个单词,每个单词的首字母大写。
举例:HelloWorld,StudyJava
(3)变量和方法
A:如果是一个单词,首字母小写。
举例:main,name,age
B:如果是多个单词,从第二个单词开始每个单词的首字母大写。
举例:showName(),studentName
(4)常量:全部大写,如果多个单词组成,用_连接。
举例:PI,STUDENT_MAX_AGE
三、注释
1、就是对程序的解释性文字。
2、注释的分类:
(1)单行注释:以//开头,以回车结束;单行注释是可以嵌套的。
(2)多行注释:以/*开头,以*/结束;多行注释是不可以嵌套的。
(3)文档注释:以/**开头,以*/结束。将来被javadoc工具解析,生成一个说明书。
3、注释的作用:
(1)解释程序,提高程序的阅读性。
(2)可以调试错误:有可能发生问题的代码,可以先注释起来,看运行结果再做判断
四、常量
1、在程序的运行过程中,其值是不会发生改变的数据。
2、常量的分类:
(1)字面值常量
a:整数常量,如:12,-23
b:实数常量,如:12.5,-65.43
c:字符常量('a'--97,'A'--65,'0'—48),如:'a','A','0'
d:字符串常量,如:"hello"
e:布尔常量,只有2个:true,false
d:空常量,只有:null
(2) 自定义常量:被final修饰的成员变量是一个常量
3、常量可以直接被输出。
4、进制:对于整数,有二进制,八进制,十进制和十六进制4种表示形式。
(1)进制是一种进位的方式。X进制,表示逢x进1。
(2)Java中整数常量的表示
A:二进制 由0,1组成。以0b开头。JDK7以后的新特性。
B:八进制 由0-7组成。以0开头。
C:十进制 由0-9组成。默认就是十进制。
D:十六进制 由0-9,A-F(不区分大小写)组成,以0x开头。
(3)进制转换:
A:其他进制到十进制
系数:就是每一位上的数据。
基数:X进制,基数就是X。
权:在右边,从0开始编号,对应位上的编号即为该位的权。
结果:把系数*基数的权次幂相加即可。
B:十进制到其他进制
除基取余,直到商为0,余数反转。
C:快速转换
a:8421码。
b:二进制--八进制(3位组合)
c:二进制--十六进制(4位组合)
五、变量
1、程序的运行过程中,在指定范围内发生改变的量。
其实就是内存中的一个存储空间,用于存储常量数据。变量空间可以重复使用。
2、格式:数据类型 变量名 = 初始化值;
变形格式:
数据类型 变量名;
变量名 = 初始化值;
3、注意问题:
什么时候定义变量:当你知道这是一个变化的内容的时候。
一般定义的范围:首先是在小范围内,如果不合理,在考虑大范围。
六、数据类型
1、分类
基本类型:4类8种。
引用类型:类,接口,数组。
2、基本类型
整型:byte, short,int,long
浮点型:float ,double
字符型:char
布尔型:boolean
注意:整数默认是int类型。long类型需要加L或者l后缀。
浮点数默认是double类型。float类型需要加F或者f后缀。
3、类型转换
(1)boolean类型不参与转换。
(2)隐式转换(从小到大):byte,short,char à int à long à float àdouble
(3)强制转换(从大到小),格式:(数据类型)数据;
注意:在运算的过程中,一般要求类型一致;不一致时,就会有类型转换问题
一般不推荐使用强制类型转换;尽量使用该数据类型能够表示的范围。
4、试题
byteb1 = 3;
byteb2 = 4;
byteb3 = b1 + b2;(编译失败,因为b1和b2参与运算时,数据类型自动提升为int)
byteb4 = 3 + 4; (常量参与运算,编译器先算值,若值属于左边类型的范围就不报错。)
七、运算符
1、就是把常量和变量连接的符号,一般参与运算使用。
2、分类:算术运算符,赋值运算符,关系运算符,逻辑运算符,位运算符,三元运算符
(1)算术运算符:+,-,*,/,%,++,--
+:正号,加法,字符串连接符。
System.out.println("5+5="+5+5);//5+5=55
System.out.println(5+5+"=5+5");//10=5+5
%:取得余数
左边如果大于右边,结果是余数。
左边如果小于右边,结果是左边。
左边如果等于右边,结果是0。
注意:正负号跟左边一致;任何整数模2不是0就是1,改变被模数就可以实现开关运算。
++/--:++ 其实相当于把数据+1
单独使用:在数据的前后,结果一致,都是加1。
参与操作使用:如果在数据的后边,数据先操作,在++/--
如果在数据的前边,数据先++/--,在操作。
(2)赋值运算符: =,+=,-=,*=,/=,%=
int a = 10;:把10赋值给int类型的变量a。
a += 20;:把左边和右边的和,赋值给左边。
注意:a = a + 20;和a += 20; 结果是等价的,理解不是等价的。
因为+=这种运算符,内含了强制类型转换功能。
比如:short s = 2; s+=3; 等价于s = (short)(s+3);
(3)比较运算符(关系运算符):==,!=,>,>=,<,<=
特点:比较运算符的结果都是boolean类型,结果要么是true,要么是false。
请千万注意:== 不要写成 =
(4)逻辑运算符:&,|, !, ^, &&, ||
&与:有false则false
|或:有true则true
!非:true变false,false变true
^异或:相同false,不同true
&&短路与:有false则false
||短路或:有true则true
注意:&&和&的区别是:如果左边有false了,右边将不再执行。
||和|的区别是:如果左边有true了,右边将不再执行。
开发中常用:&&,||,!
(5)位运算符:
&按位与,|按位或,^按位异或,~按位取反,<<左移,>>右移,>>>无符号右移
注意:位运算符用于操作二进制位的运算符。
一个数据对同一个数据^两次,结果还是数据本身。
如:a ^ b ^ b =a( 不分前后,a ^ b ^ a = b ; a ^ a ^ b = b )
(6)三元运算符(条件运算符),格式:条件表达式?表达式1:表达式2
执行流程:
根据条件表达式返回的是true还是false,决定结果是什么。
如果是true,就把表达式1作为结果。
如果是false,就把表达式2作为结果。
举例:int a = 100; int b = a > 50 ? 200:100; 请问b的值? 200
3:试题
(1)请用最有效率的代码写出2乘以8:2*8 = 2<<3
(2)请交换两个变量:a,b
A:临时变量
temp = a; a= b; b = temp;
B:不用临时变量
a = a + b;
b = a - b; // b = (a+b)-b = a
a = a - b; // a = a-(a-b) = b
C:位^运算符
a = a ^ b;
b = a ^ b; //b = (a^b)^b = a;
a = a ^ b; // a = a^(a^b)=b;
----------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
- 黑马程序员_总结2-java基础语法1
- 黑马程序员_总结3-java基础语法2
- 黑马程序员_学习笔记:2) Java语法基础总结
- _黑马程序员_基础语法1
- 黑马程序员:Java编程_语法基础
- 黑马程序员-----java基础语法知识总结*
- 黑马程序员-java语法基础总结
- 黑马程序员_基础语法
- 黑马程序员_基础语法
- 黑马程序员_总结15-java基础加强2
- 黑马程序员_总结14-java基础加强1
- 黑马程序员--java基础--基础语法2
- 黑马程序员 基础语法总结
- 黑马程序员—2、JAVA基础语法
- 黑马程序员 Java基础语法2
- 黑马程序员---java基础语法2
- 黑马程序员-JAVA基础语法1
- 黑马程序员java基础语法1
- KMP 算法
- Python:Scrapy框架中Item Pipeline组件(项目管道组件)的使用教程
- Fighting 背包
- Ubiquitous Religions
- ZOJ 2947 Abbreviation
- 黑马程序员_总结2-java基础语法1
- POJ 2828 Buy Tickets 线段树入门(建树稍微有点抽象)
- HDU 3183 A Magic Lamp
- VC 程序自杀
- 八卦一下模型验证(一) (转自g9老大的八卦系列)
- HDU 2072 单词数
- Mac中PhoneGap的安装与使用测试
- strcmp函数只能对字符指针(变化的地址)或数组名(固定的地址)进行比较asc2码
- 【Uinx高级环境变成】1.open函数