Java基础程序设计(二)

变量

什么是变量

内存中的一个储存区域
该区域有自己的名称(变量名)和类型(数据类型)
通过变量名来访问这块区域的
个人理解:把变量比喻为一个个大小种类不同的箱子(数据类型),不同的箱子可以装不同的东西(变量的值)。例如装易碎物品的箱子内层要有泡沫,装大件用大箱子;要区分箱子就要给箱子命名(变量名)。

使用变量要注意什么?

变量的作用域:一对{}之间,出包含它最近的大括号就不能用了
初始化值

定义变量的格式是什么?

数据类型 变量名 = 初始化值
int x = 0;

变量类型

按数据类型分
基本数据类型
数值型
    整数类型 byte short int long
    浮点类型 float long
字符型 char
    只能表示一个字符
布尔型 boolean
    只能取true或false,不能取null
引用数据类型
类 class(字符串是类)
接口 interface
数组 []
按声明位置分
成员变量:在类的内部,方法或代码块的外部声明的变量
实例变量(不以static修饰)
类变量(以static修饰)
局部变量:在方法或代码块的内部声明的变量
形参(在方法签名的参数列表中声明)
方法局部变量(在方法内部定义的变量)
代码块局部变量(在代码块内部定义的变量)
二者异同:
同:都有生命周期
异:局部变量除形参外,其余需显示初始化;生命周期不同
(扩展:局部变量如果不显示初始化也不会报错,但是接下来除了赋值这种初始化操作,其余操作皆不能进行)

基本数据类型

整数类型

类型占用空间取值范围
byte1字节=8bit-2^7 ~ 2^7-1
short2字节-2^15 ~ 2^15-1
int4字节-2^31 ~ 2^31-1
long8字节-2^63 ~ 2^63-1

定义long型变量,末尾加“L”或“l”
long l1 = 123;//没有加l,因为123默认为int型,4个字节可以往8个字节转化,所以不报错,自动类型转化,容量小的类型可以向容量大的类型转化

浮点类型

类型占用空间取值范围
float4字节-3.403E38 - 3.403E38
double8字节-1.798E308 - 1.798E308

定义float型常量,末尾需加“f”或“F”

字符型

char型数据用来表示通常意义上的“字符”(占2字节)
char c1 = 'a';//只能表示一个字符(中文、英文,标点符号,转义字符......)
char c2 = '\t';//一个转义字符也是一个char。
    \b退格符   \n换行符   \r回车符   \t制表符   \"双引号 \'单引号\\反斜线
直接使用Unicode值来表示字符型常量:'\uXXXX',其中XXXX表示一个16进制整数。如:\u00a表示\n
char类型可以进行运算,因为它都有对应的Unicode码

布尔型

只能取true或false,不能取null,占用1bit,也就是1/8字节
适用于逻辑运算,一般用于程序流程控制
    if条件控制语句
    while循环控制语句
    do-while循环控制语

变量之间的运算

(除boolean。剩下byte short int long float double char之间的运算)

自动类型转换
    当容量小的数据类型与容量大的数据类型做运算时,容量小的会自动转化为容量大的数据 
    char,byte,short --> int --> long --> float --> double
    char,byte,short之间相互做运算时(包括自己和自己),默认的结果为int类型

强制类型转换
    容量大的转化容量小的。要使用强制类型转化符:()
    强制类型转化的问题:导致精度的损失
平时常用的字符串,也是一种数据类型:String
    字符串与基本数据类型之间的运算:只能是连接运算:+,得到的结果仍为一个字符串
//题目:
String s1 = "hello";
int i1 = 12;
char c1 = 'a';//97
System.out.println(s1 + i1 + c1);//hello12a
System.out.println(s1 + c1 + i1);//helloa12
System.out.println(i1 + s1 + c1);//12helloa
System.out.println(c1 + s1 + i1);//ahello12
System.out.println(i1 + c1 + s1);//109hello

编码

ASCII码
Unicode码
UTF-8

进制

二进制、十进制、八进制、十六进制
原码、反码、补码
    正数:原码、反码、补码都一样
    负数:
        反码:除符号位,各位取反
        补码:反码+1
        计算机以反码的方式存储
二进制与十进制转换
二进制与八进制、十六进制的转换
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值