Java学习day02——变量、运算符

02_1.变量概述

变量是内存中装载数据的小盒子,你只能用它来存数据和取数据。

02_2.计算机存储单元

1.计算机中储存和运算的最小单位是一个字节,也就是一个byte.

02_3.Java中数据类型

1.数据类型:四类八种

		四类		八种	  字节数	数据表示范围
		整型		byte	1	-128~127
				short	2	-32768~32767
				int		4	-2147483648~2147483648
				long	8	-263~263-1
		浮点型   float	4	-3.403E38~3.403E38
				double	8	-1.798E308~1.798E308
		字符型	char	2	表示一个字符,如('a','A','0','家')
		布尔型	boolean	1	只有两个值true与false

02_4.常量和数据类型

1.整形常量默认是int类型
2.小数常量默认是double类型
3.定义长整形数据如果值超过int取值范围后面要+“L”
4.定义float类型的数据后面要+“f” 否则默认是double

02_5.变量创建的三要素

1.定义变量的语法格式:

	数据类型  变量名  =  变量值;
	 int        a   =  100;	

02_6.定义所有的基本数据类型变量

/*
   定义Java中的变量
   定义出所有数据类型的变量
   四类八种
  
*/
	
public class Variable {
	public static void main(String[] args){
		//定义整数类型,字节类型 byte类型
		//内存中1个字节, -128 127
		byte b = 100;
		System.out.println(b);
		
		//定义整数类型,短整型, short类型
		//内存中2个字节, -32768 32767
		short s = 200;
		System.out.println(s);
		
		//定义整数类型, 整型, int类型
		//内存中4个字节, -2147483648  2147483647
		int i = 500006;
		System.out.println(i);
		
		//定义整数类型, 长整型, long类型
		//内存中8个字节
		long l = 21474836407L;
		System.out.println(l);
		
		//定义浮点数据, 单精度 float类型
		//内存中4个字节
		float f = 1.0F;
		System.out.println(f);
		
		
		//定义浮点数据, 双精度 double类型
		//内存中8个字节
		double d = 2.2;
		System.out.println(d);
		
		//定义字符类型, char
		//内存中2个字节, 必须单引号包裹,只能写1个字符
		char c = '我';
		System.out.println(c);
		
		//定义布尔类型, boolean
		//内存中1个字节, 数据值, true false
		boolean bool = true;
		System.out.println(bool);
	}
}

02_7.定义字符串变量

1.创建字符串数据类型变量
2.String 是引用数据类型

/*
   常量: 字符串,双引号,包裹, "0-n"
*/
public class Variable_1{
	public static void main(String[] args){
		//定义变量,字符串类型,数据类型 String 表示字符串的数据类型
		String s = "我爱java";
		//String 属于引用类型,定义方式,和基本类型一样
		System.out.println(s);
		
		int i =10;
	}
}

02_8变量定义使用注意事项

1.变量定义后可以不赋值,使用时再赋值。不赋值不能使用。

	public static void main(String[] args) {
			int x;
			x = 20; //为x赋值20
			System.out.println(x);//读取x变量中的值,再打印
			}2.变量使用时有作用域的限制。
			public static void main(String[] args) {
			int x = 20;
			{
			    int y = 20;
			}
			System.out.println(x);//读取x变量中的值,再打印
			System.out.println(y);//读取y变量中的值失败,失败原因,找不到y变量,因为超出了y变量作用范围,所以不能使用y变量
			}
  1. 变量不允许重复定义
public class Variable_2{
	public static void main(String[] args){
		int i = 5;
		System.out.println(i);
		 {
		   int j = 10;
		   System.out.println(j);
		 }
		
		
		int i =1;
	}
}

02_9数据类型转换_自动转换

  1. 转换的过程中,数据遵循一个原则:
    范围小的数据类型值(如byte),可以直接转换为范围大的数据类型值(如int);
    范围大的数据类型值(如int),不可以直接转换为范围小的数据类型值(如byte)

  2. 将各种数据类型按照数据范围从小到大依次列出:
    byte -> short -> int -> long -> float -> double

  3. 表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换

  4. 自动类型转换格式:

     	范围大的数据类型 变量 = 范围小的数据类型值;
     	如:
     		    double d = 1000;
     		或
     		    int	   i = 100;
     		    double d2 = i;
    

02_10数据类型转换_强制转换

1.表示范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换
2.强制类型转换格式:

	范围小的数据类型  变量 = (范围小的数据类型) 范围大的数据类型值;
	如:
	int  i = (int)6.718;   //i的值为6
	或
	double  d = 3.14;
	int  i2 = (int)d;     //i2的值为3

02_11算数运算符_1

  1. 常见操作

     	运算符	运算规则		范例			结果
     	+		正号			+3			3
     	+		加			2+3			5
     	+		连接字符串	“中”+“国”	“中国”
     	-		负号			int a=3;	
     						-a			-3
     	-		减			3-1			2		
     	*		乘			2*3			6
     	/		除			5/2			2
     	%		取模			5/2			1	
     	++		自增			int a=1;	2
     						a++/++a	
     	--		自减			int b=3;
     						a--/--a		2
    

2.注意事项
* a:加法运算 符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
* b:除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。
* c:“%”为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。
* d:整数做被除数,0不能做除数,否则报错。
* e:小数做被除数,整除0结果为Infinity,对0取模结果为NaN

02_12算数运算符_2(++在变量前和在变量后的区别)

  1. 符号写在前面,还是后面,在变量自己独立计算的时候,没有区别
  2. 但是变量,要是参与了其他运算,有区别了
  3. a++,a–运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1;
  4. ++a,–a运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作。

02_13赋值运算符

		运算符	运算规则		范例				结果
		=		赋值			int a=2	2
		+=		加后赋值		int a=2,a+=2	4
		-=		减后赋值		int a=2,a-=2	0
		*=		乘后赋值		int a=2,a*=2	4
		/=		整除后赋值	int a=2,a/=2	1
		%=		取模后赋值	int a=2,a%=2	0
  1. 诸如+=这样形式的赋值运算符,会将结果自动强转成等号左边的数据类型。
/*
 * 赋值运算符
 * +=, -=, *=, /=, %= : 
 * 上面的运算符作用:将等号左右两边计算,会将结果自动强转成等号左边的数据类型,再赋值给等号左边的
 * 注意:赋值运算符左边必须是变量
 */
public class OperatorDemo2 {
	public static void main(String[] args) {
		byte x = 10;
		x += 20;// 相当于 x = (byte)(x+20);
		System.out.println(x);
	}

02_14比较运算符

		运算符	运算规则		范例			结果
		!=		不等于		4!=3		True
		<		小于			4<3			False
		>		大于			4>3			True
		>=		大于等于		4>=3		True
  1. 比较运算符,计算结果只有2个可能,true,false,结算结果的数据类型, boolean类型
  2. 赋值运算符的 = 符号与比较运算符的 == 符号是有区别的,赋值运算符的 = 符号,是用来将 = 符号右边的值,赋值给 = 符号左边的变量;比较运算符的 == 符号,是用来判断 == 符号 左右变量的值是否相等的。

02_15逻辑运算符

		运算符	运算规则		范例			结果
		&		与		false&true		False
		|		或		false|true		True
		^		异或		true^flase		True
		!		非		!true			Flase
		&&		短路与	false&&true		False
		||		短路或	false||true		True

1.&:一假则假,一边是false,运算结果就是false
2. |:一真则真,一边是true,运算结果就是true
3. ^:同假异真,两边相同为false,不同为true
4. !:取反
5. &&:一边是false,另一边不运行
6. ||:一边是true,另一边不运行

02_16三元运算符

1.格式: (布尔表达式) ? (结果1):(结果2);
2.布尔表达式结果是true,三元运算符的结果,就是 结果1
布尔表达式结果是false,三元运算符的结果,就是 结果2

02_17运算符优先级

优先级 描述 运算符
1 括号 ()、[]
2 正负号 +、-
3 自增自减,非 ++、–、!
4 乘除,取余 、/、%
5 加减 +、-
6 移位运算 <<、>>、>>>
7 大小关系 >、>=、<、<=
8 相等关系 ==、!=
9 按位与 &
10 按位异或 ^
11 按位或 |
12 逻辑与 &&
13 逻辑或 ||
14 条件运算 ?:
15 赋值运算 =、+=、-=、
=、/=、%=
16 位赋值运算 &=、|=、<<=、>>=、>>>=

02_18.商场库存清单案例

1.案例分析.

	* a:观察清单后,可将清单分解为三个部分(清单顶部、清单中部、清单底部)
	
	* b:清单顶部为固定的数据,直接打印即可
	
	* c:清单中部为商品,为变化的数据,需要记录商品信息后,打印
		经过观察,我们确定一项商品应该有如下几个属性:
		品牌型号: 即商品名称,String型
		尺寸:物品大小,double型
		价格:物品单价,double型
		配置:这一项为每种商品的配置信息,String型
		库存数:这一项为每种商品的库存个数,int型

	* d:清单底部包含了统计操作,需经过计算后,打印
		我们发现两个单独的可变化量
		总库存数:所有商品总个数,int型
		库存商品总金额:所有商品金额,double型

2.案例代码实现


```java
//步骤一:  创建Demo01库存清单.java文件,编写main主方法
		public class Demo01库存清单 {
			public static void main(String[] args) {
			}
		}
		//步骤二:  记录每种库存商品信息
		//苹果笔记本电脑
		String macBrand = "MacBookAir";
		double macSize = 13.3;
		double macPrice = 6988.88;
		int macCount = 5;

		//联想Thinkpad笔记本电脑
		String thinkpadBrand = "ThinkpadT450";
		double thinkpadSize = 14.0;
		double thinkpadPrice = 5999.99;
		int thinkpadCount = 10;

		//华硕ASUS笔记本电脑
		String ASUSBrand = "ASUS-FL5800";
		double ASUSSize = 15.6;
		double ASUSPrice = 4999.50;
		int ASUSCount = 18;

		//步骤三: 统计库存总个数、库存总金额
		int totalCount = macCount + thinkpadCount + ASUSCount;
		double totalMoney = (macCount * macPrice) + (thinkpadCount * thinkpadPrice) + (ASUSCount * ASUSPrice);

		//步骤四: 列表顶部
		System.out.println("------------------------------商城库存清单-----------------------------");
		System.out.println("品牌型号	尺寸	价格	库存数");

		//步骤四:打印库存清单中部信息
		//列表中部
		System.out.println(macBrand+"	"+macSize+"	"+macPrice+"	"+macCount);
		System.out.println(thinkpadBrand+"	"+thinkpadSize+"	"+thinkpadPrice+"	"+thinkpadCount);
		System.out.println(ASUSBrand+"	"+ASUSSize+"	"+ASUSPrice+"	"ASUSCount);
		//打印库存清单底部信息
		//列表底部
		System.out.println("-----------------------------------------------------------------------");
		System.out.println("总库存数:"+totalCount); 
		System.out.println("库存商品总金额:"+totalMoney);


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值