Java初级笔记_2

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
Java基础知识
一、常量
    A:概述
      就是在程序的执行过程中其值不发生改变的量
     B:分类
      1):字面值常量
        2):自定义常量
     C:字面值常量的分类
      1): 字符串常量 双引号括起来的内容 "HelloWorld" ,"Hello"
2): 整数常量 所有 12,23
3): 小数常量 所有 12.34,56.78
4): 字符常量 单引号括起来的内容   'a','A','0'  (注意:单引号中只能单个字母,单个数字,单个符号)
5): 布尔常量 只有两个值true和false
6): 空常量 null
     D:整数常量的4种表现形式
      1):二进制 0b开头,由0和1组成。如:0b000110 整数第一位为0,负数第一位为1
正数二进制原码、反码、补码都相同。负数反码为:原码符号位不变,数值位按位取反。负数补码为:负数反码加1
2):八进制 0开头。由1~7这几个数字组成。如:0235
3):十进制 和我们生活当中常用的一样   如:1234
4):十六进制 0x开头。由0~9,a,b,c,d,e,f这几个数字和字符组成 如:0x342ad
二、变量
    A:概述
       在程序执行的过程中,在某个范围内其值可以发生改变的量
         理解: 就相当与数学中的未知数
         变量其实是内存中的一小块区域
    B:存在意义
         用来不断的存放同一类型的常量,并可以重复使用
    C:格式
         数据类型 变量名 = 变量值 ; 如:int a = 4;   注意:分号为英文分号。中文分号会报错。变量名是标识符,要复合标识符命名规则
     D:使用过程中注意
       a:作用域问题
     变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
 b:初始化值问题
     没有初始化值不能直接使用
 c:在一行上建议只定义一个变量
     可以定义多个,但是不建议
三、运算符
      A:概述 
        对常量和变量进行操作的符号
     B:分类
         算术运算符 + , - , * , / , % , ++ , -- 
      ++:自加。对原有的数据进行+1 注意:++在前,先赋值后自增;++在后,先自增后赋值。
      --:自减。对原有的数据进行-1       同++
           赋值运算符 =, +=,-=,*=,/=,%=
      注意:a:基本的赋值运算符:=
把=右边的数据赋值给左边。
   b:扩展的赋值运算符:+=,-=,*=,/=,%=
+= 把左边和右边做加法,然后赋值给左边。
   c: 赋值运算符要求左边的数据必须是一个变量
           关系运算符 == ,!= , < , > , <= , >= , instanceof
      注意:无论你的操作是简单还是复杂,结果boolean类型。
   "=="不能写成"="
           逻辑运算符 &(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)
              1) &逻辑与: 有false则false。
      2) |逻辑或: 有true则true。
      3) ^逻辑异或: 相同为false,不同为true。
举例:情侣关系。男男,男女,女男,女女
      4) !逻辑非: 非false则true,非true则false   特点:偶数个不改变本身。如:!!true表示true
              注意:a:逻辑运算符一般用于连接boolean类型的表达式或者值。
在Java中我们要表示一个数大于3并且小于6 ,不可以写成3<x<6,应该写成 x>3 & x<6 。
   b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
关系表达式:a == b
                   c:&&和&的区别:(同理||与|的区别)
                        共同:最终结果都一样
                        不同:&&具有短路效果。左边是false,右边不执行。
                   d:开发中常用&&,||,!
           位运算符  &(与),|(或),^(异或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(无符号右移)
              注意:位运算是直接对二进制补码进行运算。
              ^的特点:一个数据被另一个数据位异或两次,该数本身不变。
              <<:左移 空位补0,被移除的高位丢弃。 把<<左边的数据乘以2的移动次幂
      >>:右移 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,高位补1。 把>>左边的数据除以2的移动次幂
      >>>:无符号右移 被移位二进制最高位无论是0或者是1,空缺位都用0补。
           三目运算符
              格式:(关系表达式) ? 表达式1 : 表达式2;
              执行流程:计算关系表达式的值,如果为true, 运算后的结果是表达式1; 
          如果为false,运算后的结果是表达式2;
     C:注意
        a:整数相除只能得到整数。如果想得到小数,请使用浮点数
  b:/获取的是除法操作的商,%获取的是除法操作的余数
    %运算结果的符号,取决于参与运算是左边的符号
四、数据类型
       A:概述
        我们知道了变量其实就是内存中的一小块区域。我们定义一个变量,其实就是开辟了一个内存空间。如果没有数据类型,那么我们需要开辟多大的内            存空间合适呢?为了解决这种问题,java就给我们提供了不同的数据类型,那么针对不同的数据类型,在内存中分配了不同大小的内存空间。
     B:分类
       1)基本数据类型
    a): 数值
                  整数型
                      byte 1个字节 范围-128~127
                      short 2个字节 -2^15 ~  2^15 - 1 (正负3万多)
                      int 4个字节 -2^31 ~  2^31 - 1 (正负约21亿)
                      long 8个字节 -2^63 ~  2^63 - 1
                  浮点数
                      float 4个字节 -3.403*10^38  ~ 3.403*10^38 
                      double 8个字节 -1.798*10^308 ~ 1.798*10^308
    b): 字符型
      char 2个字节 0 ~ 65535
      注意: char可以存储一个中文汉字。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。
             所以,Java中的字符可以存储一个中文汉字
    c): 布尔型   
                      boolean 1个bit,即1/8个字节       
         2)引用数据类型
             数组、类、接口
       C:自动类型转换与强制类型转换
          自动类型转换
          1): boolean类型不能转换为其他的数据类型
     2): byte,short,char—int—long—float—double
     3): byte,short,char之间不转换,他们参与运算首先转换为int类型

   
         强制类型转换 
           1) 格式:目标数据类型 变量名=(目标数据类型)(被转换的数据);
           2) 注意:尽量不要使用强制类型转化,因为可能会损失精度

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值