Java笔记 第二章 变量与数据类型

一、琐碎
1.1个字节8bit
2.Java中的字符实际上是一个16位的无符号整数(<=65535)
3.unicode表示法是在其值前加前缀\u,\u+16进制数
eg:\u002A,\u4e5d
4.计算机存储器的计量单位:
8bit–1byte
1024byte–1KB
1024KB–1MB
1024MB–1GB
1024GB–1TB
5.机器数(真值):一个数在计算机中的二进制表示形式,机器数带符号,整数最高位为0,负数最高位为1
6.
原码:符号位加上真值的绝对值,人脑最易理解和计算的方式
反码:整数为其本身,负数符号位不变,其余各位取反
补码:整数为其本身,负数,原码符号位不变,其余各位取反,最后+1
7.补码就是想要符号位也参与运算
8.除数为0,Arithmetic Exception / by zero算术异常
9.变量名最好有意义,循环变量一般使用i,j,k
10.ASCII码(美国标准信息交换码,也叫做键盘码)
11.提示用户输入时,为阻塞(程序的停止)

二、本章知识点
1.变量是计算机中一块特定的内存空间,由一个或多个连续的字节组成
2.Java有8大基本类型:
数值型:
整型:int short long byte
浮点型:float double
非数值型:boolean char
3.String:不是基本类型
4.Java里char类型属于非数值类型,因为Java支持unicode编码,unicode编码支持2个字节表示1个字符,char在Java里占2个字节
5.建议写法:一行代码,尽量只声明一个变量,并进行注释
整型 int 4字节32位
短整型 short 2字节16位
长整型 long 8字节64位
字节型 byte 1字节8位
单精度浮点型 float 4字节32位7位有效数字 (小数点前后加起来)
双精度浮点型 double 8字节64位
布尔类型 boolean 1字节8位
字符类型 char 2字节16位
字符串类型 String
6.变量是计算机中一块特定的内存空间
数据类型——变量的类型 决定了为它分配多少个字节空间
7.基本类型也称原始类型(primitive type),用于保存简单的单个数据
8.类类型(class type)或引用类型(reference types),用于保存复杂的组合数据
9.String类型是使用最频繁的一中引用类型
10.声明并使用变量,第一次赋值叫初始化
11.默认情况下,小数是double类型
eg:float mainHZ=2.6F; F大小写不限
12.long num=232L; //232这种数字默认是Int类型,后加L之后,就成了long类型
13.通过变量名可以简单快速地找到内存中存储的数据
变量名:字母、数字、下划线_、$,数字不开头,不可使用关键字53个
14.转义序列:
\n 换行 \t空格
\打印反斜线 "打印双引号 \0空字符
15.char ch=’\0’; //ASCII码为0的字符
16.格式化输出:
%d %f %e
%o八进制
%%输出一个%
%3.0f //输出一个浮点型,宽度为3,小数点后0位
%-10s //输出一个字符串,宽度为10,左对齐
17.import 导入
import java.util.Scanner; 导入java工具包中的Scanner类
18.自动类型转换:小转大,2种类型兼容(比如都是数值型)
short–int–long–float–double
强制类型转换:大转小,兼容
long number=2147836855; //jvm内部,首先把右侧int类型数字入栈
Int number6=(int)45.5;
19.boolean类型只能赋值true/false
三、本章代码

package homework2;//包,文件夹
/* * 银行整存整取定期存取业务,已知年利率,用户输入存款金额后得出本息和 */import java.util.Scanner;//导入java工具包中的Scanner类public class bank {	public static void main(String[] args) {		Scanner principal=new Scanner(System.in);		//实例化一个Scanner类型的变量principal,;里面包装了System.in对象		System.out.println("请输出存款金额:");//提示用户进行输入,程序阻塞		double money=principal.nextDouble();//将输入在控制台的内容赋值给变量money		System.out.println("存一年后的本息和为:"+money*(1+0.0225));		System.out.println("存二年后的本息和为:"+money*(1+0.027));		System.out.println("存三年后的本息和为:"+money*(1+0.0324));		System.out.println("存五年后的本息和为:"+money*(1+0.036));		//System.out.println("存一年后的本息和为:"+money*(1+2.25%));为什么不能用百分号	}	
```}

```java
package homework2;
/* * 交换两张手牌 */public class exchange {	public static void main(String[] args) {		int left=10;//左手牌值		int right=8;//右手牌值		System.out.println("当前左手牌为:"+left);		System.out.println("当前右手牌为:"+right);		int temp;//用于交换的临时变量		temp=left;		left=right;		right=temp;		System.out.println("当前左手牌为:"+left);		System.out.println("当前右手牌为:"+right);							}}



package homework2;
/*
 * 要求可从控制台录入温度信息,能够用华氏温度和摄氏温度分别显示,实现两种温度间的转换
 */
import java.util.Scanner;//java工具包中的Scanner类,要实现用户交互必须要导入它
public class temperature {
	public static void main(String[] args) {
		//int Fahrenheit=0;//华氏温度
		//double Celsius_degree;//摄氏温度
		Scanner scanner=new Scanner(System.in);//实例化一个Scanner类型的变量scanner,里面包装类System.in对象
		System.out.println("请输入当前华氏温度:");//提示用户输入温度,程序阻塞
		double Fahrenheit=scanner.nextDouble();//将输入在控制台的内容赋值给变量 Fahrenheit
		double Celsius_degree=5*( Fahrenheit-32)/9;//温度转换
		System.out.println("当前的华氏温度为:"+ Fahrenheit);
		System.out.println("当前的摄氏温度为:"+ Celsius_degree);		
	}
}``

```java
package homework2;
/* * 升级 商场购物管理系统,实现购物结算功能 */public class UpdateShopping {	public static void main(String[] args) {		/*		 * 声明并初始化会使用到的变量		 */		int Tshirt,Tennis_shoes,Tennis_racket;//声明变量T恤、网球鞋、网球拍		double Tshirt_unitprice=245;//声明并初始化变量T恤单价		double Tennis_shoes_unitprice=570;//网球鞋单价		double Tennis_racket_unitprice=320;//网球拍单价		int Tshirt_number=2;//声明并初始化T恤数量		int Tennis_shoes_number=1;//网球鞋数		int Tennis_racket_number=1;//网球拍数		//总共消费金额		double Totalprice=Tshirt_number*Tshirt_unitprice+Tennis_shoes_number*Tennis_shoes_unitprice+Tennis_racket_number*Tennis_racket_unitprice;		double discount=0.8;//折扣		System.out.println("本次消费金额为:"+Totalprice);			}
}
发布了33 篇原创文章 · 获赞 0 · 访问量 184

猜你喜欢

转载自blog.csdn.net/weixin_45087108/article/details/103898241