黑马程序员- 第二天(标识符,常量,变量,运算符,转义字符,语句)

来源:互联网 发布: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培训、期待与您交流! ----------------------
 

0 0
原创粉丝点击