零基础学Java之Java学习笔记(三):变量和数据类型
为什么需要变量?
变量是一个程序的基本组成单位。
变量的概念:
变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房 间,而通过变量名可以访问到变量(值)。
变量的三要素:
①数据类型 ②变量名 ③变量值
变量的基本使用步骤
①创建一个变量②给变量赋值
变量的注意事项:
1.变量表示内存中的一个存储区域(不同的变量,类型不同,占用的空间大小不同。)
2.该区域有自己的名称(变量名)和类型(数据类型)
3.变量必须先声明,后使用。
4.该区域的数据/值可以在同一类型范围内不断变化。
5.变量在同一个作用域内不能重名。
6.变量=变量名+值+数据类型
数据类型:
1. Java 数据类型分为两大类 基本数据类型和引用类型
2. 基本数据类型有 8 种数值型 [byte , short , int , long , float ,double] char , boolean
3. 引用类型 [类,接口, 数组]
基本数据类型:
①整数型:byte、short、int、long
类型 | 占用存储空间 | 范围 |
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 |
整型注意事项:
(1)Java 的整数类型就是用于存放整数值的,比如 12 , 30, 3456 等等
(2)Java整型变量(具体值)默认为int型。通常情况下使用int型,除非不足以表示大数,才使用long。声明long型常量须后加"l"或"L"
(3)Java各整数类型有固定的范围和字段长度,不受具体OS(操作系统)的影响,以保证Java程序的可移植性
(4)bit:计算机中最小存储单位。byte:计算机中基本存储单元。1byte=8bit
②浮点型:double、float
类型 | 占用存储空间 | 范围 |
单精度float | 4个字节 | -3.403E38 ~ 3.403E38 |
双精度double | 8个字节 | -1.798E308 ~ 1.798E308 |
浮点型注意事项:
(1)Java 的浮点类型可以表示一个小数,比如 123.4 ,7.8 ,0.12 等等
(2)与整数类型类似,Java浮点类型也有固定的范围和字段长度,不受具体OS的影响。
(3)Java浮点型常量(具体值)默认为double,通常情况下使用double型,因为它比float型更精确。声明float型常量,须后加"f"或"F"
③字符型:char
字符类型可以表示单个字符,字符类型是 char,char 是两个字节(可以存放汉字),多个字符用字符串 String
字符型注意事项:
(1)字符常量是用单引号(' ')括起来的单个字符。例如:char c1='a'; char c2='1';
(2)Java中还允许使用转义字符 ' \ ' 来将其后的字符转变为特殊字符型常量。例如:char c3=' \n';
(3)在Java中,char的本质是一个整数,在输出时,是Unicode码对应的字符。
(4)可以直接给char赋一个整数值,输出时会按照对应的Unicode字符输出。例如:97->a
(5)char类型是可以进行运算的,相当于一个整数,因为它都有对应的Unicode码。
④布尔型:boolean
(1)布尔类型也叫boolean类型,boolean类型数据允许取值true和false,无法null。
(2)boolean类型占1个字节。
(3)boolean类型适于逻辑运算,一般用于程序流程控制。
基本数据类型转换:
当Java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换。
自动类型转换:
数据类型按精度(容量)大小排序为:
char < int < long < float < double
byte <short < int <long < float < double
自动类型转换注意事项:
(1)有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量大的那种数据类型,然后再进行计算。
(2)当我们把精度(容量)大的数据类型赋值给精度(容量)小的数据类型时,就会报错,反之就会进行自动类型转换。
(3)(byte,short)和char之间不会相互自动转换。当吧具体数赋给byte时,先判断该数是否在byte范围内,如果是就可以。
(4)byte,short,char他们三者之间可以计算,在计算时首先转换为int类型。
(5)boolean不参与转换
(6)自动提升原则:表达式结果的类型自动提升为操作数中最大的类型。
强制类型转换:
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符 ( ),但可能造成 精度降低或溢出,格外要注意。
强制类型转换注意事项:
(1)当进行数据的大小从大到小,就需要使用到 强制转换。
(2)强制符号只针对于最近的操作数有效,往往会使用小括号提升优先级。
(3)char类型可以保存int的常量值,但不能保存int的变量值,需要强转
4.byte、short、char类型在进行运算时,当做int类型处理。
基本数据类型和 String 类型的转换:
在程序开发中,我们经常需要将基本数据类型转成String类型。或者将String类型转成基本数据类型。
基本类型转String类型:
语法:将基本类型的值+" " 即可。
String类型转基本数据类型:
语法:通过基本类型的包装类调用parseXX方法即可。
怎么把字符串转成字符 char?
指 把字符串的第一个字符得到
基本数据类型和 String 类型转换的注意事项:
(1)在将 String 类型转成 基本数据类型时,要确保String类型能够转成有效的数据。比如 我们可以把 "123" , 转成一 个整数,但是不能把 "hello" 转成一个整数
(2)如果格式不正确,就会抛出异常,程序就会终止。
本文来自博客园,作者:她与剑意皆失,转载请注明原文链接:https://www.cnblogs.com/long99/p/15164584.html