------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------java
Java基础语法(一)---关键字、常量、变量、运算符
1、关键字 网络
定义:被Java赋予了特殊含义的单词。框架
特色:体现上都是英文小写。函数
一、 用于定义数据类型的关键字this
基本数据类型:spa
整数类型: byte(1字节,最大值127) short(2字节,最大值为2^15-1).net
int(4字节,最大值为2^31-1) long(8字节,最大值为2^63-1)线程
浮点类型: float (单精度实数在内存中占32bit 有效数字为6~7位)3d
double(双精度实数占内存单元为64bit 有效数字为15~16位)code
字符类型:char 如’a’,’1’等
布尔型:boolean (flas true)
引用数据类型:
class(类) interface(接口)
void用于函数上表示无返回值类型
二、用于定义数据类型值的关键字
true(真) false(假) null(空)
三、 用于定义流程控制的关键字
判断:
if else
switch case default
循环:
for
while
继续循环:continue 结束循环或选择结构:break返回:return
四、 用于定义访问权限修饰符的关键字
private(私有的) : 类中使用定义在方法或者变量上,外部类没法访问
protected(受保护的):当父类中的某些属性只想子类继承时,可用
public(公有的): 权限为最高,能够用于修饰类、方法等。
五、 用于定义类、函数,变量修饰符的关键字
abstract(抽象的) ;final(最终的):static(静态的):
synchronized(同步的) :判断锁的存在
enum(枚举):在Vector容器中使用
六、用于定义类与类之间关系的关键字
extends(继承):用于子类继承父类时使用
implements(实现):用于实现接口时使用
七、 用于定义创建实例及引用实例,判断实例的关键字
new(创建实例) this(当前引用) super(父类引用)
instanceof(判断对象类型) : if(obj instanceof Student) 判断obj是不是学生类型
八、 用于异常处理的关键字
try{须要被检测的代码;}
catch (){处理异常的代码; }
finally{必定会执行的代码;}
throw throw 定义在函数内,用于抛出异常对象
throws:定义在函数上,用于抛出异常类,能够抛出多个用逗号隔开
九、 用于包的关键字
package(建立包)
import(导入包) 例如: import java.util.*; (*表明全部)
十、其余修饰关键字
native(本地)
strictfp(strict float point,精确浮点)
transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)
volatile(类型修饰符,用来修饰被不一样线程访问和修改的变量)
assert(断言,能够看做是异常处理的一种高级形式,用于捕捉咱们在代码中作出的假设)
注:main不是关键字,倒是被虚拟机所识别的一个名称。
2、标识符
在程序中自定义的一些名称。由25个英文字母大小写,数字0-9,符合 _ $组成。
定义合法标识符的规则:
一、 数字不能够开头。
二、 不可使用关键字。
注:Java中严格区分标识符的大小写。在起名字的时候,为了提升阅读性,要尽可能有意义。
Java中的名称规范:
包名:多单词组成时全部字母都小写。
xxxyyyzzz 例如 mypackage
类名接口名:多单词组成时,全部单词的首字母大写。
XxxYyyZzz 例如 MyComparaTo
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每一个单词首字母大写。
xxxYyyZzz toString
常量名:全部字母都大写。多单词时每一个单词用下划线链接。
XXX_YYY_ZZZ 例如 MAX_PRIORITY 最高优先级
3、常量
定义:Java中固定不变的、表示不能改变的数值。
Java中常量的分类:
1,整数常量。全部整数。
2,小数常量。全部小数。
3,布尔型常量。较为特有,只有两个数值。true false。
4,字符常量。将一个数字字母或者符号用单引号( ' ' )标识。
5,字符串常量。将一个或者多个字符用双引号(“”)标识。
6,null常量。只有一个数值就是:null。
对于整数,Java有三种表现形式:
十进制:0-9,满10进1。
八进制:0-7,满8进1,用0开头表示。
十六进制:0-9,A-F,满16进1,用0x开头表示。
进制的基本转换:
其余进制转十进制
Integer.valueOf("y",x) :x为多少进制,y为你想转的值
十进制转二进制: toBinaryString(x)
十进制转换成十六进制:toHexString(x)
十进制转换成八进制:toOctalString(x)
4、变量
概念:内存中的一个存储空间。有本身的名称(变量名)和类型(数据类型)。
做用:用来不断的存放同一类型的数据,并能够重复使用。
定义变量的格式:数据类型 变量名 =初始化值;
数据类型:
Java中有两种数据类型:一、基本数据类型;二、引用数据类型。这里主要讲解基本数据类型。
说明:Java程序中,整数默认:int 小数默认:double
类型的自动提高:
在运算中,当低类型数据与高类型数据进行计算时,系统会自动将表达式中的低类型数据提高到高类型。如:
byte b = 3 ; int c;
c= b + 2; //b会自动提高为int类型进行运算。
强制类型转换:
当程序中,数据类型须要变换时,能够进行强制转换。如:
byte b = 3;
b = b + 4;//报错
b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。
5、运算符
一、算术运算符
注:进行取模运算时,若是有负数,运算结果取决于运算左边有没有负数。
字符串数据和任何数据使用 +都是相链接,最终都会变成字符串。
二、赋值运算符
符号:= += -= *= /= %=
例: int a,b,c; a=b=c =3;
int a = 3; a+=5;//等同运算a=a+5;
三、比较运算符
注:一、比较运算符的结果都是boolean型,也就是要么是true,要么是false。二、比较运算符“==”不能误写成“=”。
四、逻辑运算符
逻辑运算符用于链接boolean类型的表达式。
&:只要两边的boolean表达式结果,有一个为false,那么结果就是false。只有两边都为true,结果为true。
|:两边只要有一个为true,结果为true;只有两边都为false,结果为false。
^:两边相同结果是false,两边不一样结果是true。
&和&&的区别:
单&时,左边不管真假,右边都进行运算;
双&时,若是左边为真,右边参与运算,若是左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
五、位运算符 (大头到小头 为 什么移)
左移:<<;空位补0,被移除的高位丢弃,空缺位补0。
右移:>>;被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。
无符号右移:>>>;被移位二进制最高位不管是0或者是1,空缺位都用0补。
与: &;二进制位进行&运算,只有1&1时结果是1,不然是0。
或:|;二进制位进行 |运算,只有0 | 0时结果是0,不然是1。
异或: ^;任何相同二进制位进行 ^运算,结果是0;1^1=0 , 0^0=0。
不相同二进制位 ^运算结果是1。1^0=1 , 0^1=1。
反码:~;对二进制进行取反。
六、 三元运算符
D=A?B:C;即A为真时,D=B,A为假时,B=D。
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。
运算符的优先级:
6、转义字符
概念:经过 \ 来转变后面字母或符号的含义。
经常使用转义字符:
\b:退格
\n:换行
\t:制表符,至关于tab键
\r:回车
\\:表示反斜杠
\':表示单引号
\":表示双引号
7、实战演练
1 class OperateDemo 2 { 3 public static void main(String[] args) 4 { 5 int x = 4270; 6 7 x = x /1000 * 1000;//结果: x=4000; 8 System.out.println(-1%5);//结果 -1 9 10 int a = 3,b; 11 12 //a++; //--> a = a+ 1; 13 14 15 b = ++a;//结果b=4; 16 17 System.out.println("a="+a); 18 //字符串数据和任何数据使用+都是相链接,最终都会变成字符串。 19 //System.out.println("5+5"+(5+5));//"5+5=55" 20 21 22 /* 23 转义字符:经过\ 来转变后面字母或者符号的含义。 24 \n:换行。 25 \b:退格。至关于backspace。 26 \r:按下回车键。window系统,回车符是由两个字符来表示\r\n. 27 \t:制表符。至关于tab键。 28 */ 29 System.out.println("hello \t world"); 30 //System.out.println("hello java"); 31 32 System.out.println("\\hello\\"); 33 34 char ch = '\''; 35 36 char c = 'a'; 37 38 39 } 40 }
2.交换的三种方式
1 class OperateDemo2 2 { 3 public static void main(String[] args) 4 { 5 int n = 3,m = 8; 6 System.out.println("n="+n+",m="+m); 7 8 //1,经过第三方变量。 9 /*int temp; 10 temp = n; 11 n = m; 12 m = temp; 13 */ 14 15 //2不用第三方变量。 16 //11 = 3 + 8; 17 18 //3 = 11 - 8; 19 //8 = 11 - 3; 20 /* 21 n = n + m; //若是n和m的值很是大,容易超出int范围。即会产生溢出 22 m = n - m; 23 n = n - m; 24 */ 25 26 n = n ^ m; 27 28 m = n ^ m;//(n^m)^m; 29 30 n = n ^ m;//n ^ (n ^ m) 31 32 System.out.println("n="+n+",m="+m); 33 } 34 }
文章的主题归纳来自下面一个网络连接,由于本身归纳总结的框架不够具体,因而在网络上查找到了这篇博客,而且认为此篇博客很好,因而在其基础上,添加了一些本身的总结,而且删除了部分。(并没有商业目的,只为本身可以总结,梳理)