黑马程序员__JAVA入门(二)

-------android培训、java培训、java学习型技术博客、期待与您交流! ------------

1.关键字

关键字:被java赋予了特殊含义的单词

Java中关键字有:

abstract assert boolean break byte
case catch char class continue
default do double else enum
extends final finally float for
if implements import instanceof int
interface long native new package
private protected public return strictfp
short static super switch synchronized
this throw throws transient try
void volatile while    

 

2.标识符

标识符:程序中自定义的名称

标识符组成:26个英文字母大小写,数字0-9,符号_$(严格区别大小写)

定义规则:

    1.数字不可以开头

    2.不可以使用关键字

名称书写规范:

    包名:多单词组合时,所有单词都小写(aaabbbccc)

    类名接口名:多单词组合时,所有单词首字母都大写(AaaBbbCcc)

    变量名和函数名:多单词组合时,第一个单词首字母小写,第二个单词开始每个字 母首字母大写(aaaBbbCcc)

    常量名:所有字母都大写,多个单词每个单词用下划线连接(AAA_BBB_CCC)

 

3.标识符中的常量

常量表示不能改变的数值

分类:整数常量,小数常量,布尔型常量,字符常量,字符串常量,null常量

    布尔(bool)包括true和false两个数值,null只有null一个数值

注意区分:字符常量只表示一个字符,用单引号标识,而字符串可表示多个字符,用双引号标识

 

4.标识符中的变量

变量是内存中一个存储区域,该区域中有自己的名称和类型,在同一范围内可以不断变化,达到重复使用。其作用范围是一对{}之内有效。

什么时候才定义变量:需要对数据存储的时,就定义一个变量来完成存储动作

定义变量的格式:数据类型 变量名 初始化值

Java是强类型语言,对每一种数据对定义了明确的具体数据类型,在内存中分配了大小不同的空间,数据类型分类如下图:

黑马程序员__JAVA入门(二)_第1张图片

 

基本数据类型在内存中的分配:

基本型别

大小

最小值

最大值

boolean

-----

-----

------

char

16-bit

Unicode 0

Unicode 2^16-1

byte

8-bit

-128

+127

short

16-bit

-32768 

32767

int

32-bit

-2^31

+2^31-1

long

64-bit

-2^63

+2^63-1

float

32-bit

IEEE754

IEEE754

double

64-bit

IEEE754

IEEE754

 

 示例代码如下:

  class Var 
  {
  	public static void main(String[] args) 
  	{
  		//格式:数据类型 变量名 = 初始化值 
  		int x = 1;
  		System.out.println(x);//输出x,为1
  		x = 10;
  		System.out.println(x);//输出x,为10
  
  		byte y = 2;//y的范围是-128~127
  
  		short z = 30000;
  
  		long l = 3l;
  
  		float f = 3.5f;//后面加f是标识3.5是单精度
  
  		double d = 34.23;
  
  		char c = '4'//char在内存中占两个八位
  
  		boolean b = true;
  	}
  }
  

 

5.运算符

包括:算术运算符,赋值运算符,比较运算符,逻辑运算符,位运算符,三元运算符

算术运算符:

黑马程序员__JAVA入门(二)_第2张图片

 

算术运算符需注意的问题

    1.如果对负数取模,可以把模数负号忽略不计,如:5%-2=1。但被模数是负数的话,结果为被模数。

    2.对于除号,在整数之间做除法时,只保留整数部分而舍弃小数部分。如:int x=2564;x=x/1000*1000;这个时候x的结果是2000.

    3.“+”还能把非字符串转化为字符串,如:System.out.println(“5+5=”+5+5);

 

符号运算符

    主要有:=,+=,-=,*=,/=,%=

    注意:shtort s = 3;s=s+2和s+=2是不一样的,前者中的2是int类型的,会报错。

 

比较运算符

黑马程序员__JAVA入门(二)_第3张图片

 

注意:比较运算符运算结果是boolean(布尔)型的,两个值:true,false。在编程中特别注意不要把==写成=特别注意!

 

逻辑运算符

黑马程序员__JAVA入门(二)_第4张图片

 

逻辑运算符是用于连接boolean(布尔)型表达式,数学中常见如33 & x<6。

注意明确&与&&的区别,前者是无论左边是true是false,右边都要进行要运算,后者是如果左边为假,右边则不参加运算。”|”与”||”同理,”||”在左边为true时,右边不参与运算。

 

位运算符

    逻辑性较强,需要多多理解

    位运算符中的”位”是二进制的那个位,这是用来二进制运算的一个符号

位运算符包括如下:

黑马程序员__JAVA入门(二)_第5张图片

 

1.左移<<

    范例:3<<2=12,3的二进制是11,将11左移2位再补全则是1100,将1100转化为十进制就是12。(规律:把x向左移,移n位,用x乘以2的n次方就是结果)

2.右移>>

    范例:6>>2=1,6的二进制是110,将110右移2位(舍弃右边两位)则是1,将1转化为十进制就是1。(规律:把x向右移,移n位,用x除以2的n次方就是结果,注意只保留整数)

3.无符号右移>>>(慢慢理解消化)

    >>和>>>的区别就是:>>右移后,最高位补什么由原有数据的最高位值而定,如果最高位是0,右移后,用0补空位,如果最高位是1,则用1补空位。>>>是无论最高位是什么,右移后,都由0来补空位

4.与运算&

    范例:6 & 3 = 2,6的二进制是110,3的二进制是011,从右往左对应,1代表真,0代表假,运算出来之后则为010,010转化为十进制则为2。

5.或运算 |

    范例:6 | 3 = 7,6的二进制是110,3的二进制是011,从右往左对应,1代表真,0代表假,运算出来之后则为111,111转化为十进制则为7。

6.异或运算 ^

    范例:6 ^ 3 = 5,6的二进制是110,3的二进制是011,从右往左对应,1代表真,0代表假,运算出来之后则为101,111转化为十进制则为5。(一个数异或同一个数两次,结果还是那个数,可通过这个方法给数据加密)

三元运算符

    三个元素参与运算的符号,格式:(条件表达式)?表达式1 : 表达式2;如果条件为true,运算结果是表达式1,为false,运算结果是表达式2。

源码示例:

int x = 3 , y = 4 , z;

z = (x>y)?x:y;

System.out.pintfln(“z=” + z);//此时输出结果是:z=4。

三元运算符的好处:可以简化if else代码

           弊端:因为是一个运算符,所以运算完必须要有一个结果

 

 

 

 

个人总结:

重点掌握数据类型及逻辑运算符的运用,分清常量与变量,还有了解位运算符可以用来对进制方面的操作。此节理论性的东西应该多看多记忆。

 

 

下面列出JAVA中常用的关键字:


import:在源文件的开始部分指明后面将要引用的一个类或整个包,这样就不必在使用的时候加上包的名字。

public:在方法和变量的声明中使用,它表示这个方法或变量能够被其它类中的元素访问。

private:在方法和变量的声明中使用,它表示这个方法或变量只能被这个类的其它元素所访问。(注意与public的区别)

static:用来定义一个变量为类变量。类只维护一个类变量的拷贝,不管该类当前有多少个实例。"static" 同样能够用来定义一个方法为类方法。类方法通过类名调用而不是特定的实例,并且只能操作类变量。

void:用在Java语言的方法声明中说明这个方法没有任何返回值。"void"也可以用来表示一句没有任何功能的语句。

for:用来声明一个循环。程序员可以指定要循环的语句,推出条件和初始化变量。

while:用来定义一段反复执行的循环语句。循环的退出条件是while语句的一部分。

do:用来声明一个循环,这个循环的结束条件可以通过while关键字设置

continue:打断当前循环,继续进行下一次循环。如果后面跟有一个标签,则从标签对应的地方开始执行。

break:用来改变程序执行流程,立刻跳出当前循环块并顺序执行下一句。如果后面跟有一个标签,则跳出标签对应的循环块开始顺序执行。 

if:用来生成一个条件测试,如果条件为真,就执行if下的语句。

else:如果if语句的条件不满足就会执行该语句。

switch:选择结构中的一个语句,写在前面,通过表达式返回一个值给case判断。

case:用来定义一组分支选择,如果某个值和switch中给出的值一样,就会从该分支开始执行。

default:用在 switch case 语句里,返回一个默认的值。

final:用来定义不能被改变的实体或引用(即终极实体或引用)。终极类不能被继承,终极方法不能被改写,终极变量就是常量。

finally:用来执行一段代码不管在前面定义的try语句中是否有异常或运行时错误发生。

double:用来定义一个double类型(双精度)的变量。

float:用来定义一个浮点数变量。

return:用来结束一个方法的执行。它后面可以跟一个方法声明中要求的值。

你可能感兴趣的:(JAVA学习笔记)