java面向对象程序设计课程2
java面向对象程序设计课程2
变量
计算机中将用于存储程序执行过程中产生的临时数据的空间称为“内存”,而变量被理解为内存中一段已经命名的存储空间。通过变量名可以快速、简单地访问变量,将临时数据存储到指定内存的区域中,或者从指定内存区域中读取数据。
变量的使用步骤
1)声明变量:根据所存储的数据类型为变量申请一块存储空间,并为该存储空间命名。
2)赋值:将数据存储至变量中
3)使用变量:使用变量的值
变量的使用注意事项:
使用步骤三步缺一不可
没有声明的变量不能直接使用
声明了的变量,但没有赋值也不能直接使用
格式:
数据类型 变量名;
例子
//1.声明变量 == 申请内存空间 == 住宾馆时开房间
int age;//声明一个名为age的变量
// 2.给变量赋值
age = 18; //为变量赋值
// 3. 使用变量
System.out.println(age);
1
2
3
4
5
6
变量名的命名规则
变量名的开头可以是字母,下划线“_”和" " 变 量 名 可 以 包 含 数 字 , 但 是 不 能 放 在 变 量 的 开 头 除 了 “ ” 和 “ " 变量名可以包含数字,但是不能放在变量的开头 除了“_”和“ "变量名可以包含数字,但是不能放在变量的开头除了“
”
和“”之外,不能包含其他的特殊符号。变量名中间不能有空格
不能使用java语言中的关键字,比如int,class,public,static等。
数据类型
Java中,数据类型分为基本数据类型和引用数据类型
基本数据类型被分为三类:整数类型,浮点类型,字符类型,布尔类型。
注:基本类型,也叫做内置类型,是JAVA中不同于类的特殊类型。它们是我们编程中使用最频繁的类型。java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化。
Java基本类型共有八种,基本类型可以分为三类
字符类型 char
布尔类型 boolean
数值类型 byte、short、int、long、float、double。
数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。
JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。
实际上,JAVA中还存在另外一种基本类型void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。8 中类型表示范围如下
byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。
short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。
int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
boolean:只有 true 和 false 两个取值。
char:16位,存储Unicode码,用单引号赋值。
位数与存储数值大小之间的计算关系:
Java决定了每种简单类型的大小。这些大小并不随着机器结构的变化而变化。这种大小的不可更改正是Java程序具有很强移植能力的原因之一。下表列出了Java中定义的简单类型、占用二进制位数及对应的封装器类。
注意:
对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。如:
基本类型byte 二进制位数:Byte.SIZE
最小值:Byte.MIN_VALUE
最大值:Byte.MAX_VALUE
基本类型short二进制位数:Short.SIZE
最小值:Short.MIN_VALUE
最大值:Short.MAX_VALUE
基本类型char二进制位数:Character.SIZE
最小值:Character.MIN_VALUE
最大值:Character.MAX_VALUE
基本类型double 二进制位数:Double.SIZE
最小值:Double.MIN_VALUE
最大值:Double.MAX_VALUE
注意:float、double两种类型的最小值与Float.MIN_VALUE、 Double.MIN_VALUE的值并不相同,实际上Float.MIN_VALUE和Double.MIN_VALUE分别指的是 float和double类型所能表示的最小正数。也就是说存在这样一种情况,0到±Float.MIN_VALUE之间的值float类型无法表示,0 到±Double.MIN_VALUE之间的值double类型无法表示。这并没有什么好奇怪的,因为这些范围内的数值超出了它们的精度范围。
简单类型和包装类比较:
基本类型的优势:数据存储相对简单,运算效率比较高
包装类的优势:有的容易,比如集合的元素必须是对象类型,满足了java一切皆是对象的思想
字符类型char,用于表示单个字符,如‘A’,‘男’,使用char表示的字符值都必须包含在英文的单引号中。如‘AB’,‘男生’是不能使用char类型表示的。
若要表示多个字符的情况,使用String这个引用类型进行表示。
特别注意:
当使用char类型的变量值为数值时,其值会转义为对应的ASCII码值,而并非赋值时的数值。对应的ASCII码如下:
梨子:
//只存储一个男,只需要使用字符类型
char sex='男';
//存储男孩这个字符串,char不够存储。则使用String
String sexBoy="男生";
//当我们要表示小数时,需要对表示的数据添加后缀声明数据类型
float f=1.23f;
float f1=1.23F;
// 如果没有跟后缀f,则默认为double类型
//float pi= 3.14; 会出现编译错误
double pi=3.14;//表示正确
double pi1=3.14d;//表示正确
double pi2=3.14D;//表示正确
//高精度可以接收低精度的值,因为精度越大,表示可装载的数据越大 变量再声明时已经为其申请了一个固定的存储空间。
double pi3=3.14f;//表示正确
double pi4=3.14F;//表示正确
// float f= 3.14d;错误 低精度的存储空间不能存储精度的值,因为高精度的值所需要的存储空间太大,而低精度的存储空间不够表示
char C=65;// 输出C的值为字母 ‘A’,而并非65,因为char类型存储的值为数值时,会转义为对应的ASCII码值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
使用注意:
高精度的变量可以接收低精度的值,低精度的变量不可以接收高精度的值
在使用浮点类型声明变量时,如果值后没有跟f,F,d,D。则值的类型为double。
控制台的输入和输出
控制台的输入:
1.Scanner类的导入
import java.util.Scanner;//该代码放在类的结构之外
2.Scanner对象的创建
Scanner sc=new Scanner(System.in);
获取用户的输入数据
int age=sc.nextInt(); //获取用户输入的数字后赋值给变量age
对获取到的用户数据进行处理。
Scanner的常用方法:
next()和nextLine()的区别:
next():只读取输入直到空格。它不能读两个由空格或符号隔开的单词。此外,next()在读取输入后将光标放在同一行中。(next()只读空格之前的数据,并且光标指向本行)
nextLine():读取输入,包括单词之间的空格和除回车以外的所有符号(即。它读到行尾)。读取输入后,nextLine()将光标定位在下一行。
控制台的输出:
System.out.print("…");
System.out.println("…"); 会换行
System.out.printf(“格式控制符1格式控制符2…”,变量1,变量2)…;
————————————————
版权声明:本文为CSDN博主「Lvan314」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33183456/article/details/114674755