黑马程序员——Java基础语法



------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


兴趣是学习编程最好的老师

不积跬步,无以至千里

这辈子没办法做太多事情,所以每一件都要做到精彩绝伦。 

1.关键字
 (1)被Java语言赋予了特殊含义的单词。
 (2)特点:关键字中所有字母都为小写。
 (3)goto和const虽然从未使用,但也作为 Java 关键字保留,记住保留字也是不能当作标识符.
 (4)java中是没有sizeof这个关键字的

2.标识符
 (1)Java 语言中,对各种变量、方法和类等要素命名时使用的字符序列称为标识符。
  简单记,就是起名字。
 (2)命名规则
  由26个英文字母大小写,数字0-9,_,$等组成。  
  不能以数字开头。
  不能与java的关键字重名。
 (3)命名规范 见名知意,驼峰命名。
  包 所有单词小写。
   看成是一个文件夹。
   www.itcast.cn cn.itcast.包的作用 则该文件中所有的类位于cn/itcast/这个路径下
   www.baidu.com com/baidu/包的作用(如果我们打算去哪个公司面试的话,可以先把公司的网站了解一下,然后把你的项目包名称改成公司网站的名称,这样会增加你面试的机会)
  类和接口 
   如果是由一个单词组成,那么单词首字母大写。举例:Demo,Student。
   如果是由多个单词组成,那么每个单词的首字母大写。举例:StudentDemo。
  变量与方法
   如果是由一个单词组成,那么单词首字母小写。举例:main,show。getMax()
   如果是由多个单词组成,第一个单词首字母小写,其后每个单词的首字母大写。举例:showName。
   getMax();
  常量 
   如果是一个单词组成,那么所有单词全部大写。举例:MAX。
   如果由多个单词组成,每个单词大写,并且以下划线相连接。举例:STUDENT_MAX_AGE。

 
3.注释
 (1)注解说明代码的,用于给人看的。
 (2)注释的分类
  单行注释 //
  多行注释 /* */
  文档注释 /** */
 (3)注释的用途
  注解说明文字。
  用于调试代码。


4.常量
(1)整数常量。所有整数
(2)小数常量。所有小数
(3)布尔型常量。较为特殊,只有两个数值。true false
(4)字符常量。将一个数字字母或者符号用单引号('')标识.
(5)字符串常量。将一个或者多个字符用双引号标识。
(6)null常量。只有一个数值就是:null。


5.进制
  A:八进制,用0开头表示。B:十进制。C:十六进制,用0x或者0X开头表示。D:二进制。用0b表示这是1.7的新特性,可以直接求出二进制的对应的十进制值。
 进制转换
  A:其他到十进制的转换
   其他进制包含二进制,八进制,十六进制
   转换规则
    先把数据的每一位上的系数乘以对应基数的次幂(低位从从零开始),然后相加即可
  B:十进制到其他进制的转换


   规则:除基取余,直到商为0,最后将余数反转
   十进制到二进制
    除2取余,直到商为0,最后将余数反转
    十进制13对应的二进制数据是1101
    二进制到十进制的技巧(8421码)
   十进制到八进制
    除8取余,直到商为0,最后将余数反转
    十进制13对应的把进制数据是15
        十进制--二进制--八进制
     首先把十进制转成二进制
     其次把二进制数据每三位组合。左边不够三位用0补位
     然后把每个组合计算成对应的十进制数据
     最后从左到右把数据相连接即可得到八进制
   十进制到十六进制
    除16取余,直到商为0,最后将余数反转
    十进制13对应的把进制数据是D
    
    十进制--二进制--十六进制
     首先把十进制转成二进制
     其次把二进制数据每四位组合。左边不够四位用0补位
     然后把每个组合计算成对应的十进制数据
     最后从左到右把数据相连接即可得到十六进制


6.变量
 (1)在程序的运行过程中,其值在指定范围内变化的值
 (2)是内存中一个区域,用于存储数据
 (3)变量的定义格式:
  A:数据类型 变量名 = 初始化值;
 (4)变量在使用的时候
  A:第一种,在声明的时候,就初始化值
  数据类型 变量名 = 初始化值;
  举例:byte b = 100; System.out.println(b);
  B:第二种 在使用前,赋值
   声明
   赋值
   使用
   举例 byte b2;
         // b2 = 100;
      System.out.println(b2);
7.数据类型
 (1)java语言分为两种数据类型
  A:基本数据类型
  B:引用数据类型(类,接口,数组)
 (2)基本数据类型
  A:区别 在内存中分配的空间大小不同,从而导致它表示的数据范围不同
  B:4类8种
   整数
    byte 占1个字节//8个开关,8个二进制位 1byte = 8bit
    short 占2个字节
    int 占4个字节0
    long 占8个字节 其后加L或l标识
   浮点数
   float 占4个字节 其后加F或f标识3.3f  2^63 
    double 占8个字节
   字符
   char 占2个字节  0 - 65535
   布尔型
    boolean This data type represents one bit of information, 
    but its "size" isn't something that's precisely defined.
    这个数据类型代表一个比特的信息,但它的“大小”不是精确定义的东西. 
    true,false
  C:默认情况下:
   整数是int类型,浮点数是double类型
 (3)数据参与运算
  A:整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则
   容量小的类型与容量大的类型进行计算,默认转换为容量大的数据类型;数据类型按容量大小排序为:
    byte,short,char->int->long->float->double
    byte 和 short不能和char之间互相转换,byte可以直接赋值给short,但是
    他们三者在计算时首先会转换为int类型
   容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,
     但可能造成精度降低或溢出;使用时要格外注意。
   有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,
     然后再进行计算。
  B:强制转换符
   格式:(数据类型)(要被转换的数据) byte b = (byte)(300);
   //00101100
  C:字符型参与运算
   首先会去找对应字符的unicode码值。然后运算。
   char 类型取值范围0~2(16)-1,我就有了一个问题?能不能把整数直接赋值给char类型的变量
  D:布尔型参与运算char ch = 10;byte b = 10;char ch = '';
   不能参与运算
  E:字符串参与运算
   它是和参与运算的数据相连接组成了一个新的字符串。


8.运算符
 (1)算术运算符 +,-,*,/,%,++,--
  A:%
   当左边的绝对值小于右边:结果是左边
   当左边的绝对值等于右边或者是右边倍数的时候:结果是0
   当左边的绝对值大于右边:结果是余数,符号取决与左边的的符号
   取余的正负号取决于左边,右边忽略不记
   用途:任意正整数%2 结果是要么0,要么1。用于切换条件
   
  B:++,--
   int a = 3;
   int b = a++;    //当++在变量的后面,会先从变量中把值取出来,进行运算,赋值,输出
   System.out.println(a);
   System.out.println(b);
   递增,递减运算符。就是加1或者减1
   单独存在,放在操作数的前面或者后面,结果一样
   参与运算时:
    放在操作数的前面,先自身加或者减1,然后再参与运算
    放在操作数的后面,先参与运算,然后再自身加或者减1
   
  C:+
   作为数据的符号(正号)
   做加法运算
   字符串连接符"5 + 5 =" + (5 + 5);
 (2)赋值运算符
  A:=:赋值运算符 把右边的值赋给左边
   举例:int x = 3; 把3赋给int类型变量x
   int a,b,c;
   a = b = c = 5;
  B:+=:加赋值运算符 把左边和右边的和赋给左边
   举例:int x = 3; x+=2;等同于 x = x + 2;
   问个问题 byte b = 5;
        b = b + 2;
              b += 2; b = (byte)(b + 2);
        System.out.println(b);会不会报错?
   +=运算符在给b赋值时,自动完成了强转操作。
 (3)比较运算符
  A:==,!=,>,<,>=,<=
  B:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
 (4)逻辑运算符
  
  int x = 5;
 
  x > 6 & x < 10
  /*
  逻辑与运算符 &
  
  第一个条件    第二个条件     结果
  true          true           true
  false         true           false
  true          false          false
  false         false          false

  */

  /*
  逻辑或运算符 |
  
  第一个条件    第二个条件     结果
  true          true           true
  false         true           true
  true          false          true
  false         false          false

  */

  /*
  逻辑异或运算符 ^
  
  第一个条件    第二个条件     结果
  true          true           false
  false         true           true
  true          false          true
  false         false          false


  */

  /*
  逻辑非运算符 !
  
  !true  false
  !false true
  !!true true
  */

  /*
  短路与:

  &:左边无论什么结果,右边都执行。
  &&:左边为false,右边不执行,结果为false。

  int x = 10;
  x > 11 && x < 15
  短路或:
  |:左边无论什么结果,右边都执行。
  ||:左边为true,右边不执行,结果为true。
  */
 (5)位运算符2<<3   2 * 8 == 2 * 2^3
  <<一个整数向左移动几位就乘以2的几次幂
  >>一个整数向右移动几位就除以2的几次幂,高位是0就补0,高位是1就补1
  >>>无符号右移无论最高位的符号位是0还是1,用无符号右移后高位符号位都是补0
 (6)三元运算符
  A :(条件表达式)?表达式1:表达式2;
   如果条件为true,运算后的结果是表达式1;
   如果条件为false,运算后的结果是表达式2;
  B:条件运算符运算完之后一定有一个结果
 

int x,y,z;
		x = 5;
		y = 10;
		z = x > y ? x : y;

		if(x > y) {
			z = x;
		}else {
			z = y;
		}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值