基础复习

常量

常量就是不可改变的数值

大概分为以下六种:

           1.整数常量。包括所有整数
               对于整数有四种表现形式:
               二进制,0、1,满2进1
               八进制,0-7,满8进1,从0开头表示
               十进制,0-9,满10进1
               十六进制,0-9,A-F,满16进1,用0x开头表示。


           2.小数常量。包括所有小数


           3.布尔常量。较为特有,只有两个数值,true false
, true false同时是关键字
            
           4.字符常量。将一个数字字母或符号用单引号(‘’)标识,“单引号里只能放单个数字,字母,符号,一个也没
 有不可以”
            
           5.字符串常量。将一个或多个字符用双引号("")标识


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

不同进制的表现形式

   二进制的数据表现形式:二进制加0b
   八进制的数据表现形式:八进制加0
   十进制的数据表现形式:十进制无标示
   十六进制的数据表现形式:十六进制加0x,x不分大小写。10到15分别用a到f表示,不分大小写

任意进制到十进制的转换

“系数*基数^权次幂”
           十进制             10
           二进制             2
           八进制             8
           十六进制           16
                        例:十进制转十进制:
              12345=1*10^4+2*10^3+3*10^2+4*10^1+5*10^0
                   =10000+2000+300+40+5
                   =12345

十进制到任意进制的转换

“除积到取余”
           十进制           10
           二进制            2
           八进制            8
           十六进制          16
                     例:        37 除10=3余7
                                 3再除10=0余3 
                                    所以为37
                                 37 除2=18余1
                                 18再除2=9余0 
                                  9再除2=4余1 
                                  4再除2=2余0
                                  2再除2=1余0
                                  1再除2=0余1
                                  所以为100101  

8421码  

                 1        1        1        1       1         1        1        1
              1*2^7  1*2^6  1*2^5  1*2^4  1*2^3  1*2^2  1*2^1  1*2^0
               128       64      32     16       8        4        2         1

变量

内存中的一个存储区域
        该区域有自己的名称(变量名)和类型(数据类型)
        该区域的数据可以在同一类型范围内不断变化

用来不断存放同一类型的常量,并可以重复使用

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

变量的作用范围(一对{}之间有效)

数据类型

分为基本数据类型和引用数据类型

基本数据类型:分为四类八种

        byte  占1个字节,取值范围是—128到+127
        short 占2个字节,取值范围是—2^15到+2^15+1
        int   占4个字节,取值范围是—2^31到+2^31+1,整数默认数据类型
        long  占8个字节,取值范围是—2^63到+2^63+1
        float 占4个字节,单精度,没有指定大小
        double占8个字节,双精度,浮点型默认数据类型
        char  占2个字节,取值范围是0到65535
        boolean占八分之一个字节只有true和false

引用数据类型:

      接口和数组

练习

class Demo1 {
	            	public static void main(String[] args) {
						byte b=100;
						short s=1000;
						int i=10000;
						long l=1234567890000L;//如果long的值大于int范围必须在数值结尾加L,注意尽量大写,否则容易看成数字1
						//浮点类型
						float f=11.2f;//此处数值后如不加f(不分大小写),会报错,因为小数数据类型默认为double,所以会损失精度
						double d=11.2;
						//字符类型
						char c1='a';
						char c2='0';
						char c3='中';//字符中可以储存有汉字,因为Java是unicode编码,char占用两个字节,而汉字也是两个字节
						//布尔类型
						boolean b1=true;
						boolean b2=false;
						//System.out.println(l);
					}
				}
使用变量注意事项
class Demo2 {
				public static void main(String[] args) {
					int i=10;
					i=20;                   //这是一个赋值动作,可以把初始化值覆盖掉
					System.out.println(i);
					int x;                     //变量使用前必须赋值,
					System.out.println(x);
					int a,b,c;               //一条语句可以声明多个变量
					a=10;
					b=20;
					c=30;
					System.out.println(a);
					System.out.println(b);
					System.out.println(c);
					}
			}

自动类型提升与强制类型转换

class Demo3 {
				public static void main(String[] args) {
				/*int i=100;
				byte b=30;              //自动类型提升(隐式转换)
				i=i+b;
				System.out.println(i);*/
				int i=100;
				byte b=50;
				b=(byte)(i+b);        //强制类型转换
				System.out.println(b);
				}
			}
变量相加与常量相加的区别
 class Demo4 {
				public static void main(String[] args) {
				byte b,b1,b2;
				b1=3;
				b2=4;
				b=b1+b2;       //此处报错,原因是b1,b2 是byte类型变量,在运算中自动提升为int类型,
		                       //因为b1,b2变量原因,Java无法获取其具体值
				1b=3+4;        //3,4是两个常数,Java有一个常数优化机制,在编译时直接将常数相加结果算出并赋值
				//问这两种编译哪种会报错?
				System.out.println(b);
				}
			}

  数据类型转换之默认转换
     byte,short,char -- int -- long -- float -- double
    
   float和long它们底层的存储结构不同。
    float表示的数据范围比long的范围要大
         long:2^63-1
         float:3.4 *10^38 > 2*10^38 > 2 *8^38 = 2*2^3^38 = 2*2^114 > 2^63-1

 字符char可以存储一个中文汉字吗?为什么呢?
    可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。
    所以,Java中的字符可以存储一个中文汉字

字符和字符串参与运算

'0'--------48

'a'--------97

'A'--------65

class Demo5 {
				public static void main(String[] args) {

				System.out.println("Hello World!"+'a'+1);//任何数据用+和字符串相连接,会产生新的字符串
				}
			}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值