黑马程序员---java基础 2

---------------------- <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)基本类型:38种。

 

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;

falsetrue    =  false;

falsefalse   =  false;

&:运算规律:

 

&运算的两边只有有一个是false,结果肯定是false

 

只有两边都为true,结果才是true

 

|:符号的运算特点:             

true  &  true    =  true;

true  &  false   =  true;

falsetrue    =  true;

falsefalse   =  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>

 

 

 

发布了51 篇原创文章 · 获赞 1 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章