Java零基础学习(常量 变量 算数运算符)

Java零基础学习(2)

java语言基础

  • 常量
1、常量是什么?常量的分类?字面值常量的分类?
(1)常量是在程序执行过程中,其值不发生变化的量;
常量分为字面值常量和自定义常量;
(2)字面值常量
	a:整数常量(100  50  1);
	b:小数常量(1.1   3.14 );
	c:字符常量(用单引号引起来的单个字符)(‘1’  ‘a’  ‘你’ ‘ ’);
	d:字符串常量(用双引号引起来的单个或多个字符)(“a”  “abc”  “ 你好”  “hello world” );
	e:布尔常量(true 真,对  false 假,错);
	F:空常量(null)。
2、Java中针对整数常量有几种表现形式?各自的组成规则是什么?
答:有四种表现形式,分别是:
十进制数,直接写(100 20 5);
二进制数,在前面加0b(0b010111  0b10101110);
八进制数,在前面加0 (012 011 056);
十六进制数,在前面加0X(0X15A 0X10)。
  • 进制转换
1.其他进制到十进制的转换是用位权展开法,每一位数乘以位权,然后相加。
2.十进制到其他进制转换是除基取余直到商为0,余数反转。
3.二进制到八进制的转换是从右往左三位为一组(如果在最左边时候无法凑够三位可以往最前面加0)
4.二进制到十六进制的转换是从右往左四位为一组(如果在最左边时候无法凑够四位可以往最前面加0)
  • 原码反码补码的转换
1.原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1,其余位表示数值的大小。
2.反码是数值存储的一种,多应用于系统环境设置,如linux平台的目录和文件的默认权限的设置umask,就是使用反码原理。在计算机内,定点数有3种表示法:原码、反码和补码。
3.在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。
A:正数的原码反码补码相同。
B:负数  原码→反码,逐位取反,符号位除外;
       反码→补码,在反码末尾加一。
例:已知原码0b10001001求补码,已知补码0b10100011求原码?
1 0001001 原码    1 0100011 补码
1 1110110 反码    1 0100010 反码
1 1110111 补码    1 1011101 原码
  • 数据类型
数据类型有基本数据类型和引用数据类型;
基本数据类型
1.整数型:byte(占一个字节 -128——127),short(占两个字 -2^15——2^15-1),
          int (占四个字节 -2^31——2^31-1),long (占八个字节 -2^63——2^63-1)
2.小数型:float(占四个字节 -3.403*10^38  ~ 3.403*10^38),
          double(占八个字节 -1.798*10^308 ~ 1.798*10^308);
3.字符型:char (占两个字节 0 ~ 2^16 - 1);
4.布尔型:boolean (占一个字节,值只有两个,true false)。
  • 变量
变量:程序执行过程中其值可以发生变化的量(变量其实就是内存中开辟的一块空间,可以存储数据,并且存储的数据可以发生变化)
定义格式:数据类型  变量名(=值)  *当变量不使用时可以不赋值

变量使用的注意事项:在同一作用域内,不能定义同名变量
                 变量命名用小写
                 变量必须赋值才能使用
  • 数据类型转换
    • 隐式类型转换
    1.byte short char类型参与运算时,会自动转换为int类型的数据,当有long float double类型的数据参与运算时,会相应的提升为其类型。
    2.boolean类型不能转换成其他数据类型
    3.byte short char类型之间不能相互转换。
    例:定义变量的写法:哪句是编译失败的呢?为什么呢?
    	byte b1 = 3, b2 = 4, b;
    	b=b1+b2;
    	b=3+4;
    	答:第二句是错误的,因为当byte类型的数据在进行运算时,会自动生成int类型的变量,byte类型的数据只有一个字节,int类型有八个字节,所以不能编译,
            第三句因为3和4时常量,所以不会出现类型准换的问题
    
    • 强制类型转换
    1.格式:目标数据类型 变量名=(目标数据类型)(被转换的数据)。
    2.尽量不要使用强制类型准换,因为可能会存在损失精度的问题。
    
  • 字符和字符串参与运算
    1.System.out.println('a');
      System.out.println('a' + 1);
      第一个的输出是a,第二个的输出是98,当字符串独自输出是直接输出,当它参与运算时则是用ASCII码表中的值,'a'=97 'A'=65 '0'=48
    2.+有两种作用一种是充当相加的作用,还有一种是起拼接作用,当+两端有任意一段是字符串的时候它就起连接作用,将两端的内容连接起来形成一个新的字符串。
    例:下列代码的执行结果是: 
    	System.out.println(‘0’+"ak"+47);//因为这个式子的两个加号两端都是字符串所以起连接作用,就直接输出字符串。
    	答:0ak47
    	System.out.println(‘0’+47+"ak");//这个式子的第一个加号两端是字符和常量,所以是起相加作用,第二个加号右边是字符串,所以起连接作用。
    	答:95ak
    
  • 运算符
    • 算术运算符的基本用法
    1.什么是运算符
    	对常量和变量进行操作的符号称为运算符
    2.运算符的分类
    	算术运算符		
    	赋值运算符
    	比较运算符
    	逻辑运算符
    	位运算符
    	三目运算符
    3.算数运算符有哪些
    	+ , - , * , / , % , ++ , -- 
    4.案例演示
    	算数运算符的基本用法
    注意事项:
    	a:整数相除只能得到整数。如果想得到小数,请使用浮点数
    	b:/获取的是除法操作的商,%获取的是除法操作的余数
    	  %运算结果的符号,取决于参与运算式左边的符号
    	    int a=-50,b=3,f;
    		f=a%b;	
    		System.out.println(f);
    		运行结果是-2
    		 
    		int a=50,b=-3,f;
    		f=a%b;
    		System.out.println(f);
    		运行结果是2	 
    
    • 算数运算符++和--的用法
    1.++,--运算符的作用
    	自加(++)自减(--)运算
    	a++ ++a:自加。对原有的数据进行+1
    	a-- --a:自减。对原有的数据进行-1
    2.注意事项
    	单独使用:
    		++,--放在操作数的前后效果一样。
    	参与运算使用:
    		放在操作数的前面,先自增或者自减,然后再参与运算。
    		放在操作数的后面,先参与运算,再自增或者自减。
    	例1:下列代码执行后,请问a,b,c的值分别是多少?
    		int a = 10;
    		int b = 20;
    		int c = 30;
    		a = b++; 
    		b = ++c; 
    		a--; 
    		答:a=19  b=31  c=31
    	例2:下列代码的执行结果是:
    		int a = 10;
    		int b = (--a)+(a--)+(a*10);
    		System.out.println(a);
    		System.out.println(b); 
    		答:a=8  b=98
    
    • 赋值运算符的基本用法
    赋值运算符有哪些
    	=, +=,-=,*=,/=,%=
    注意事项:
    	a:基本的赋值运算符:=
    		把=右边的数据赋值给左边。
    	b:扩展的赋值运算符:+=,-=,*=,/=,%=
    		+= 把左边和右边做加法,然后赋值给左边。
    		int b=20;
    		b+=10;      //b=b+10;等价于b+=10;
    		System.out.println(b);
    		运算结果是20
    		(-=,*=,/=,%=与+=同理)
    		注意:b+=10会进行强制类型转换。
    	例:下面代码有问题吗?为什么?
    		short s = 1;
    		s = s + 1;		
    		和
    		short s = 1;
    		s+=1;
    		答:第一个代码有问题,因为在short类型的数据在参与运算时,会自
            提升为int类型,因为s时short类型的只有2个字节,而int类型有8个
            字节,所以不能编译成功;
    			第二个代码是对的s+=1会进行强制类型转换,而且最后得出的值不
            超出四个字节的范围,也不会造成数据损失。
    	c: 赋值运算符要求左边的数据必须是一个变量
    
    • 关系运算符的基本用法及其注意事项
    关系运算符有哪些
    	== ,!= , < , > , <= , >= , instanceof(后面讲解)
    注意事项:
    	无论你的操作是简单还是复杂,结果是boolean类型。
    	"=="不能写成"="。
    
  • 总结

今天我们了解了常量和整数常量的四种表现形式,并且学会了各个进制之间的转换,还学会了原码反码补码之间的转换,重点是最后学会了变量和运算符,而且还知道了在使用时应该注意的事项,收获满满

posted @ 2021-03-31 21:44  Jack+_+  阅读(219)  评论(1)    收藏  举报