黑马程序员- 第二天(标识符,常量,变量,运算符,转义字符,语句)
来源:互联网 发布:mac预览 编辑:程序博客网 时间:2024/05/18 17:41
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
一,标识符
1,定义规则:
a,由26个英文字母大小写,数字:0-9符号,——¥组成。
b,数字不可以开头。
c,不可以使用关键字。(main不是关键字,被jvm识别。
注意:java中严格区分大小写,在起名字的时,尽量要起的有意义。
2,java中的名称规范:
a,包名:多单词组成时,所有单词的首字母在大写(liuCe)。
b,变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写(stuName)。
c,常量名:所有字母大写,多单词时每个单词用下划线连接(HEH_YU)。
二、常量和变量
1,常量:
整数常量:所有整数(1,3,2,) 小数常量:所有小数(2.3 4.5)
布尔型常量:只有两个值:true和false 字符常量:将一个数字字母或者符号用单引号(‘’)标识(‘a')
字符串常量:将一个或者多个字符用双引号标识(“liuce")
null常量:只有一个数值就是null
2,整数常量的常见表现形式:
八进制:满8进1 (0--7 以0开头) 十进制:满10进1 (0--9)
十六进制:满16进一 (0---9 A---F 以0x开头) 二进制:满2进1 (0 1)
3,进制间的转换
a,其他进制转换成二进制就除以要转成的进制数然后从下向上取余数。如:10转成二进制
10/2=5...0; 5/2=2....1; 2/2=1...0; 1/2=0....1; 二进制形式:1010
b,二进制转成其他的进制数:
1,二进制转成十进制:从右边起用二进制中的每一个数乘以2的次幂数的和 如:1010转成十进制
1010 = 0*2(0)+ 1*2(1) +0*2(2) + 1*2(3)== 0 + 2 + 0 +8 = 10 注:(0)(1)..代表2的0,1..次幂)
2,二进制转成八进制:从右边起每3个二进制位代表一个八进制位。 如:1010转成八进制
将1010分成001 和010 进行计算,001的十进制是1,010的十进制是2,表示成八进制为:012
3.二进制转成十六进制:从右边起每4个二进制位代表一个十六进制位数。如:1010转成十六进制
计算1010的十进制的形式为10 转成十六进制:10 但其表示为0x10
注:其实二进制转成八进制或十六进制就是先求出3个或4个二进制数转成的十进制数然后在联一起,以自己的表现形式表示。
c,为什么用3个二进制表示一个八进制位或用4个二进制位表示一个十六进制?
4个二进制如果都是1的话整好就是15,所以用4个二进制位来表示一位十六进制。
4,负数在内存中的表现形式:以这个负数的绝对数的二进制数取反在加1进行表示。如:-5
-5的绝对值为5,5在内存中的表现形式为0000-0000 0000-0000 0000-0000 0000-0101
-5的表现形式:5的表现形式取反:1111-1111 1111-1111 1111-1111 1111-1010 然后在加1为:
1111-1111 1111-1111 1111-1111 1111-1011 为-5在那内存中的表现形式。
结论:负数的最高位都是1
5,变量:
a,定义:就是将不确定的数据进制存储也就是需要在内存中开辟一个空间
b,定义变量(开辟空间):就要能过明确数据类型,变量名称数据来完成
计算机cpu中的内存称为缓存,缓存越大越好。
c,数据类型所占字节
整型: byte 1个字节 short 2个字节 int 4个字节 long 8个字节
浮点类型:float 4个字节 double 8个字节
字符型:char 2个字节
布尔类型:boolean 只取两个值true 和 false
d,变量的定义格式:数据类型 变量名 = 初始化值
注:java中整数类型默认是int类型,浮点类型默认是double类型的。
e,什么时候定义变量?
当有不确定的数据的时候,需要对数据进制存储时,就定义一个变量来完成存储。在同一区间中不能定义变量。
6,数据类型的转换
强制数据类型转换:如: byte b = (byte)2;装int类型的2强制转换成byte类型。
自动类型提升:如: byte b = 2,b+=2,此时byte类型会自动提升为int类型在进行运算(此程序会报错,类型不符合);
三,运算符
%规则:左边小于右边时,余数为左边的数。
++和--:自增运算符。如果++或--在变量的前面时,表达试的值为变量的值加1,如果在后面表达式的值为变量的值。
无论++和--在前在后变量的值都会增加1
+:字符串连接符,必需要有字符串。
字符串数据和任何数据作用+相连接都会就变成字符串。
-=:内部可以完成自动类型转换。如:short s = 4; s = s +4;(在编译的时候会报错,类型不符)
s += 4(编译不会报错,内部自动完成类型转换。)
=:赋值运算符。注:如果程序中出现3=4时,在编译会报:意外的类型的提示。
逻辑运算符:& | && || !用于连接boolean类型的表达式。
&:逻辑与,规则:true & false = false true & true = true false & true = true false & false = false
只要两边的boolean表达式结果,有一个为false,那么结果就是false只有两边都为true结果才为true.
|:逻辑或,规则:true | true = true, true|false=true, false|true=true,false|false=false
只要两边的boolean表达式结题,有一个为true,那么结果就是true只有两都为false结果才为false
^:逻辑异或,规则:true^true=false,false^false=false,true^false=true,false^true=true
当两边的boolean表达式结果相同时结果为false,两边不同时结果为true
&和&&的特点:&:无论左边是true还是false,右边都运算
&&:当左边为false时,右边不运算。
|和||的特点:|:当左边是true还是false,右边都运算
||:当左边为true时,右边不运算。
四,转义字符
1,通过\来转变后面字母或者符号的含义。
\n:换行 \t:水平制表 \b:退格 \r:按下回车键
注:
在linux系统中换行是由一个字符来表示\n。在windows中的两个字符来表示\r\n
转义字符写在被转义的字符前。
char ch = '\n'也是可以的,将n转义成了一个字符
。
char类型的变量也是可以装下一个中文的。char类型占两个字节,一个中文汉字也占两个字节。
五,位运算
<<:左移 乘以2的移动的位数次幂。
>>:右移 就是除以2的移动的位数的次幂。
>>>:无符号右移
注:>>:最高位补什么由原有数据 的最高位值而定,如果最高位0,右移后,用0补空位,如果最高位1,用1补空位。
>>>: 无论最高位是什么,都用0补空位。
^:一个数异或同一个数两次,结果还是那个数。(加密算法)
六,三元运算符
1,好处:可以简化if else 代码
2,弊端:国为是一个运算符,所以运算完必须要有一个结果。
七,程序流程控制
1,顺序结构。
2,判断结构:
if语句格式:if(条件表达式){执行语句1}else {执行语句2}
当条件表达式满足时,执行语句1,如果不满足执行else中的执行语句。与三元运算差不多。可以简写成:
变量 = (条件表达式)?表达式1:表达式2;
if(条件表达式){执行语句}
当条件表达式,满足里,才会执行语句,否则执行if后面的语句。
if(条件表达式){执行语句}else if(条件表达式}{执行语句} else{执行语句}
当有一个条件表达式满足时,执行其相对应的执行语句,如果都不满足的话,执行else中的执行语句。
3,选择结构
1,switch(表达式){case 取值1:执行语句;break; case 取值2:执行语句;break;...default:执行语句;}
2,switch语句的特点:
a:switch(表达式)中的表达式只有四种类型:byte,shor,char ,int ,enum(JDK5.0枚举类型),string(JDK7.0字符串)
b:switch语句的case语句没有顺序的要求。
c:switch语句的结束方式有两种:第一种:遇到break;结束。第二种:执行到switch语句的结尾。
注:什么时候使用if语句和switch语句?
1.当判断的数值为具体的数值并且数据不多还要符合switch表达式判断的类型时,使用switch,效率稍高
2.对区间决断,对结果为boolean类型的表达式进行判断时,用if语句。if作用的范围更广。
4,循环结构
1,while(条件表达式){循环休(执行语句}
do{循环体}while(条件表达式)
for(初始化表达式;循环条件表达式;循环后操作的表达式){循环语句}for中的初始化表达式只执行一次。
2,区别:
while:先判断循环的条件,如果条件成立才会执行循环体。
do..while:无论条件是否成立,程序都会执行一次循环体。
3,for和while的区别:
1,for中定义的变量,只能在for中起作用,当for语句执行完成,变量会自动释放。
4,什么时候用for或while?
当程序定义的变量只用于做循环的增量时,最好选择for语句,当for语句执行完成后,此变量的内存会自动释放。
5,无限循环的最简单形式:for(;;){},在for语句中条件表达式不写默认为真。
while(true){}
注:一定要明确那些语句要写在循环内的,那些是不需要写的。一定要明确。
5,编程小思想:
累加思想:通过变量记录住每次变化的结果通过循环的形式进行循环的动作。
计数器思想:通过一个变量记录住数据的状态变量,也需要通过循环来完成。
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
- 黑马程序员- 第二天(标识符,常量,变量,运算符,转义字符,语句)
- 黑马程序员——Java基础知识——关键字、标识符、常量、变量、运算符、转义字符
- 黑马程序员__标识符、常量、变量、运算符和语句
- Java学习日记(一)关键字、标识符、注释、常量与变量、运算符、转义字符
- 黑马程序员(学习日记2,标识符,常量,变量,运算符,语句)
- JAVA基础第二天学习日记_标识符、常量与变量、运算符、条件控制语句
- 黑马程序员--标识符,常亮,变量,运算符,语句
- 黑马程序员_java语法基础【1】(关键字,标识符,注释,常量与变量,运算符)
- 黑马程序员----Java语言基础1(关键字、标识符、注释、常量和变量、运算符)
- 黑马程序员——Java基本语法(一):关键字、标识符、常量与变量、运算符
- 黑马程序员-Java基础【1】(关键字,标识符,常量,变量,运算符)
- 黑马程序员——java基础语法(一)---关键字、标识符、注释、常量、变量、运算符
- 黑马程序员——Java语言基础(一)---关键字、标识符、注释、常量、变量、运算符
- [黑马程序员]1.JAVA基础 - 语句、运算符、变量、常量
- 黑马程序员__java基础__常量、变量、运算符、语句
- 黑马程序员之 ---- 基础语法上(关键字、标识符、进制、变量、数据类型、运算符、语句)
- 黑马程序员——Java基础语法(一.关键字、标识符、注释、常量和变量、运算符)
- 黑马程序员_二 【注释】【标识符】【常量】【变量】【进制】【运算符】
- 蓝色茉莉
- php表单的交互(post方法)
- prime 算法 POJ 1258
- spring 加载xml机制
- 问题 E : 31
- 黑马程序员- 第二天(标识符,常量,变量,运算符,转义字符,语句)
- GPU介绍,图片格式、纹理、size
- Marvell面试经历 ZZ
- IOS项目开发布局二
- 文件夹不存在则创建
- VxWorks workbench中simulator的使用心得
- 解决Linux下SSH等终端乱码问题
- php的转义字符串
- 经验小结