黑马程序员——关键字,常量,变量,运算符

来源:互联网 发布:autop 线切割编程系统 编辑:程序博客网 时间:2024/05/21 14:48

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

一.关键字

1.定义

Java语言赋予了特殊含义的单词

2.特点

关键字中所有字母都为小写



一.标识符

1.      定义

在程序中自定义的一些名称。

26个英文字母大小写,数字0-9,符号_$组成。

2.合法标识符规则:

1. 数字不可以开头。

2. 不可以使用关键字

3.书写规范

包名:由多个单词组成时,所有单词都要小写。

类,接口名:多个单词首字母大写。

变量,函数名:第一个单词首字母小写,第二个单词开始首字母大写。

常量名:所有字母大写,单词之间有那个下划线”_”隔开。

二.    注释

1.  定义

用于注解说明程序的文字。

2.作用

提高了代码的阅读性。

3.注释格式:

1.      单行注释://注释文字

2.      多行注释:/*注释文字*/

3.      文档注释:/**文档注释*/

l 对于虚拟机单行和多行注释,不会被虚拟机执行

l 文档注释为java特有注释,注释内容可以被jdk提供的工具javadoc所解析,生成一套万页文件形式的说明文档(例如Javaapi文档)。

三.常量

1定义

java中固定不变的数据。

2.Java中常量的分类:

a.整数常量。所有整数

b.小数常量。所有小数

c.布尔型常量。较为特有,只有两个数值。true false

d.字符常量。将一个数字字母或者符号用单引号( ' ' )标识。(注意单引号括号内只能写一个字符)

e.字符串常量。将一个或者多个字符用双引号标识。

fnull常量。只有一个数值就是:null.

3.对于整数:java有四种表现形式。

二进制:0,1 21

 十进制:0-9,满101

 八进制:0-7,满81.0开头表示。

 十六进制:0-9A-F,满161.0x开头表示。

五.进制转换

1. 十进制转二进制


十进制7转二进制:结果111,(从下往上读),其实就是反复除2,取余数。

反之二进制转十进制:2* 1+21* 1+22* 1=7

2. 二进制转八进制


3.二进制转十六进制


4.负数的二进制:对整数取反加一。



六.变量

1.变量的概念

内存中的一个存储区域

该区域有自己的名称(变量名)和类型(数据类型)

该区域的数据可以在同一类型范围内不断变化

数据类型变量名=初始化值


2.数据类型

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间。


3.数值型取值范围

byte8个二进制位,-27——27-1  \  -128~1271个字节)

short16个二进制位,-215——215-1  \  -32768~327672个字节)

int  32个二进制位,2314个字节)       long8个字节)

float(单精度,4字节,有效位数6~7)              double(双精度,8字节有效位数15

char0——6535; 2  boolean (f alse(默认)和 true ,1)

精度从高到低:   double   float  long   int   short(char)  byte

float x=3.25F;   或者  float x=3.25f   /需要加后缀fF,小数默认为double类型

4.自动类型提升

当低类型数据与高类型数据进行计算时,系统会自动将表达式中的低类型数据提升到高类型。

byte b = 3;

int x = 4;

x = x + b;//b会自动提升为int类型进行运算。

5.强制类型转换:

byte b = 3;

b = b + 4;//报错

b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b

byte b1=3;

byte b2=4;

byte b;

b=b1+b2; //编译错误

b1b2变量意味着这两值不确定、可能随时变化,编译器无法检查,也无法确定是否在byte字节范围之内,他检查不了就会报错(可能丢失精度),如果是常量编译器就能够判断了

b=3+4;//可通过编译

编译器在编译时(byte类型取值是有限的)他在判断右边的数值的时候发现是int类型(是常量),但他会判断是不是在byte字节范围之内,如果在的话,会给右边的int类型做默认的强转,他把最后的一个字节(byte八个二进制)赋值到了b这个变量当中

 

七.运算符

一.算数运算符


1. 取模

%    两数相除取余数

规律:左边<右边,结果是左边;

左边=右边,结果是 0;

右边是 1,结果是 0。

若出现负数,只看左边,结果的正负与左边一样。

2.  自增和自减

a++; àa=a+1;

++a;àa=a+1;

自增自减在赋值运算的表现:

a=1;

b=++a;//结果b=2,自增运算在先,赋值运算在后。

b=a++;//结果为b=1,赋值运算在先,自增运算在后。


二. 赋值运算符

符号:= , +=, -=, *=, /=, %=

short s = 3;

s=s+2;//编译不通过,因为s+2的时候s会提升为int类型,然后再赋给short类型的s时会报错:损失精度。

s+=2;//可以通过编译,因为它内部会有一个自动转换过程。


三.比较运算符


注意:比较运算符的结果都是boolean型,也就是要么是true,要么是false。

== 与  ===  区别:

==  会自动类型转换后比较,===  必须是同样的类型,同样的值进行比较。

四.逻辑运算符


1. “&”和“&&”的区别:

单&时,左边无论真假,右边都进行运算;

双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

2.“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

3.异或( ^ )与或( | )的不同之处是:

当左右都为true时,结果为false,两边相同结果是fals,两边不一样结果是true。

五.位运算符



1.位运算是直接对二进制进行运算。

3<<2 è 3*22 3<<3 è3*23

可知移 n 位就是对其乘以或者除以 2 的 n 次幂。

2.>>运算,最高位补什么由原有数据的最高位决定,最高位1补1,最高位0补0

3.>>>,不管最高位是什么,右移后最高位都补0。

注意:一个数异或同一个数两次,则得到的是同一个数。


六.三元运算符

格式(条件表达式)?表达式 1:表达式 2;

条件表达式最后的运算结果一定是布尔类型(false,true);

如果条件结果为 true,运算后的结果是表达式 1;如果条件结果为 false,运算后的结果是表达式 2。 三元运算必须要有结果。


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


0 0