---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、 <a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
Java语言基础组成
1.关键字
2.标识符
1就是给类,变量,方法起名字。
2组成规则:
由数字0-9,英文大小写字母,$以及_组成。
(3)注意事项:
A:只能有组成规则规定的内容组成。
B:不能以数字开头。
C:不能是Java中的关键字。
D:区分大小写。
2.1:包(文件夹,用于区分同名的类)
全部小写。如果多级包,用.分开。
举例:
com一级包
itheima.interview二级包
注意:www.itheima.com(域名反写)
2.,2类和接口
如果是一个单词,首字母大写。
举例:
Demo,Test,Student
如果是多个单词,每个单词的首字母大写。
举例:
HelloWorld,StudyJava
2.3:变量和方法
如果是一个单词,首字母小写。
举例:
main(),name,age.show().method()
如果是多个单词,从第二个单词开始每个单词的首字母大写。
举例:
showName(),studentName()
2.4:常量
全部大写,如果多个单词组成,用_连接。
举例:PI,STUDENT_MAX_AGE
3.数据类型
数据分类
1)基本类型:3类8种。
3.1整型
占用字节
byte(1)
short(2)
int(4)
long(8)
3.2布尔型
boolean(1)。
只有俩字结果,一个是true,另一个是false。
3.3字符型
char(2)
浮点型:
float(4)
double(8)
3.4引用类型
类,接口,数组
注意:
整数默认是int类型。long类型需要加L或者l后缀。
浮点数默认是double类型。float类型需要加F或者f后缀。
3.5类型转换
1、boolean类型不参与转换。(因为boolean值是常量,默认只有俩个值,要么true,要么false)
2、隐式转换(从小到大)
自动类型提升,从小到大的提升。
(byte,short,char) --> int --> long--> float --> double
3、强制转换(从大到小)
强制类型转换,从大到小的转换。
intb;b=(byte)(b+2)
格式:
(数据类型)数据;
表达式的数据类型自动提升
所有byte型、short型和char的值将被提升到int型。
如果一个操作数是long型,计算结果就是long型。
如果一个操作数是float型,计算结果就是float型。
如果一个操作数是double型,计算结果就是double型。
分析:
System.out.println(‘a’)与System.out.println(‘a’+1)的区别。
System.out.println(‘a’)打印的是a。
System.out.println(‘a’+1)打印的是98,自动类型提升,把a转换成ASCII编码值(97)与1相加。
转义字符
\n :换行
\b:退格
\r:按回车
\t:制表符
4.运算符
4.1分类:
算术运算符 +,-,*,/,%,++,--
+):正号,加法,字符串连接符。
System.out.println("5+5="+5+5);//5+5=55
System.out.println(5+5+"=5+5");//10=5+5
%):取得余数
左边如果大于右边,结果是余数。
左边如果小于右边,结果是左边。
左边如果等于右边,结果是0。
正负号跟左边一致。
++与--:
++ 其实相当于把数据+1
- - 其实相当于把数据-1
赋值运算符 =,+=,-=,*=,/=,%=
int a = 10;
把10赋值给int类型的变量a。
a += 20;
把左边和右边的和赋值给左边。
注意事项:
a = a + 20;
a += 20;
结果是等价的,理解不是等价的。
因为+=这种运算符,内含了强制类型转换功能。
比如:
short s = 2;
s+=3;
等价于 s = (short)(s+3);
关系运算符 ==,!=,>,>=,<,<=
特点:关系运算符的结果都是boolean类型。
请千万注意:== 不要写成 =
逻辑运算符
&与运算 |或运算 ^异或运算 !非运算 &&短路与运算 ||短路或运
&:符号的运算特点:
true & true = true;
true & false = false;
false& true = false;
false& false = false;
&:运算规律:
&运算的两边只有有一个是false,结果肯定是false。
只有两边都为true,结果才是true。
|:符号的运算特点:
true & true = true;
true & false = true;
false& true = true;
false& false = false;
|:运算规律:
|运算的两边只要有一个是true,结果肯定是true。
只有两边都为false。结果是false。
^:异或 :和或有点不一样。
^:运算特点。
true ^ true = false;
true ^ false = true;
false ^ true = true;
false ^ false = false;
^异或的运算规律:
^符号的两边结果如果相同,结果是false。
两边的结果不同,结果是true。
!:非运算,判断事物的另一面。
!true =false
!false=true;
!!true=true;
面试题:
&&和&运算的结果是一样的。但是运算过程有点小区别。
&:无论左边的运算结果是什么,右边都参与运算。
&&:当左边为false时,右边不参与运
||和|运算的结果是一样的。但是运算过程有点小区别。
|:无论左边的运算结果是什么,右边都参与运算。
||:当左边为true时,右边不参与运算的。
位运算是直接对二进制进行运算
<<左移运算 >>右移运算 >>>无符号右移运算 &与运算 |或运算 ^异或运算 ~反码运算
<<左移几位其实就是该数据乘以2的几次方。左移:可以完成2的次幂运算
>>右移几位其实就是该数据除以2的几次幂。右移:对于高位出现的空位,原来高位是什么就用什么补这个空位。
>>>:无符号右移:数据进行右移时,高位出现的空位,无论原高位是什么,空位都用0补。
^一个数异或同一个数两次,结果还是这个数。
练习:
对两个整数变量的值进行互换(不需要第三方变量)
开发时,使用第三方变量的形式,因为阅读性强。
int a = 3,b = 5, c;
c = a ;a = b ;b = c ;
Sytem.out.println("a="+a+",b="+b);
这种方式不要用,如果两个整数的数值过大,会超出int范围,会强制转换。数据会变化。
a= a + b;//a = 3 + 5;a = 8;
b= a - b;//3+5-5 = 3;b = 3;
a= a - b;//3+5-3 = 5;a = 5;
面试的时候用。
a= a ^ b;//a = 3 ^ 5;
b= a ^ b;//b = (3^5)^5; b = 3;
a= a ^ b;//a = (3^5)^3; a = 5;
三元运算符
格式:(条件表达式)?表达式1:表达式2 ;
如果条件为true,运算后的结果是表达式1,
如果条件为flase,运算后的结果是表达式2
示例:获取两个数中大数。
int x = 3, y = 4, z;
z = (x>y) ? x:y; //z变量存储的就是两个数的大数。
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
详细请查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>