JAVA基础
来源:互联网 发布:mc java路径 编辑:程序博客网 时间:2024/05/29 03:18
一、变量:
1)逻辑上类似于人类语言中的代词2) 本质上是内存中的数据
Person she;
Person he;
she.love(he);
变量的语法 规定
1) 变量必须有明确的类型
2)变量必须声明,且初始化以后才能使用
3)变量有作用域, 超过作用域就释放
变量的作用域:声明位置开始,到块结束
语句块:{}
4) 变量不能重复定义!
如果违反了语法规定 将发生编译错误!
二、进制的总结:
1) 计算机只能处理 2 进制数据(经常是补码)!
2) 计算机内部没有 10 进制 和 16进制
3) 10进制是人类 处理数据的习惯,Java 利用API 提供算法
(方法)实现 10进制的处理!
4) 16 进制 是便捷的 2进制书写格式!
5) 一切交给计算机的处理的数据,都要转换为2进制!
对于计算机,内部只有补码,只采用补码计算
但是,在显示输出的时候, 需要转换为人类习惯的10进制.
这个转换是利用程序计算的结果:
0xfffffffe 计算转换为 "-2" 给人看!
Integer.toString(0xfffffffe) -> "-2"
根本原因是成本考虑!
三、数据类型
数据类型分为两大类:基本类型和引用类型。 基本类型有八种,除了基本类型以外的任何类型都是引用类型。如: String 是引用类型。
3.1 八种基本类型:
整数:byte, short, int, long
浮点数(小数):float,double
布尔类型:boolean
字符类型: char
3.1.1 整数,都是有符号数(补码):
byte 8位补码 -128 ~ 127
short 16位补码 -32768 ~ 32767
int 32位补码 约-21亿 ~ 21亿 -2^31 ~ 2^31-1
-2G ~ 2G-1
long 64位补码 -2^63 ~ 2^63-1
我们在使用的时候要注意 利用优点,避免缺点 。要避免补码的超范围运算(溢出问题)。
1)任何整数“字面量”都是 int 类型。字面量就是直接写出的值,如:5 6 '中' true false 3.14
2) “整数字面量”在不超过范围情况下可以给“小类型变量”赋值
3) 以0x为前缀的是16进制,0前缀的是8进制
4) 整数超范围运算会溢出
最常用int,但是要注意范围, short很少使用,byte用于表示文件等底层数据
byte b = 120;b = 129;//溢出
3.1.2 浮点数:float double IEEE 754
float 32位浮点数,精度不高,很少使用
double 64位浮点数,精度高,是float的两倍,常用
字面量后缀: F D L
boolean 布尔类型 true false
if(used){
System.out.println("跳楼价!");
}
char 字符类型:字符是一个整数
char c = '3';
int n = c-'0';//(48+3) - 48 = 3
c-'0' 表达式可以将 1位数字字符 转换为 数字
数据类型转换
byte b = -1;
System.out.println(Integer.toHexString(b));
//System.out.println(Integer.toHexString((int)b));
强制类型转换
注意:1) 超范围转换, 会发生溢出现象
2) 小数部分会发生精度损失 小数点位数变短
四、 java 的运算符
数学运算: + - * / %
封闭性原则
1)同种类型参与运算,等到同种类型结果
2)小于32位数(byte, short, char)按照32位计算
3)注意,整数的除法是整除
运算符
比较运算符: > < >= <= == !=
逻辑运算符: 短路运算 && || ! 非短路运算 & |
大多使用短路运算,处理业务规则
很少使用非短路运算。面试和笔试时候会出现!
三元运算符
实际上是判断逻辑。 布尔表达式 ? 表达式1 : 表达式2
五、流程控制
if语句
if(布尔表达式){
//语句块1
}else{
//语句块2
}
if else 嵌套
switch case
if else if else 与 switch case default
switch case 只能利用整数条件进行 分支处理!
case 后面的只能是整数 常量!
if else 就更加灵活 可以"根据任何的条件"进行分支
使用更加方便
但是:性能不同!switch 的性能要 远远高于 if 语句!
使用建议:如果分支条件是整数,就使用switch 提高性能
其他情况使用 if else
使用switch 不要忘记使用break 语句!
欢迎使用 学生管理软件
1.添加学生 2.学生列表 3.删除学生 0.离开
请选择:1
输入姓名:....
for 循环:处理周期性,重复处理的功能
for 大多用于处理 与 次数有关的循环
存入 支出 合计
0100 0000 0100
0000 0025 0075
- Java基础01:基础
- Java基础:基础加强
- Java基础-基础
- java基础的基础
- JAVA基础---基础常识
- Java基础:基础加强
- [Java 基础]基础语法
- Java基础
- java基础
- java 基础
- java基础
- Java基础
- Java基础
- Java基础
- JAVA基础
- JAVA基础
- JAVA基础
- java基础
- cheap coach purses h5x7 bvlf 0a7GX
- Android-NDK环境搭建
- [Cocos2d-x 3.0] Physics 基本設定
- ray ban outlet POjk ui24 AqaQ1
- 一些网址
- JAVA基础
- KM算法
- Servlet 常用接口
- 程序员网站一览
- 目标跟踪学习系列九:Struck:Structured Output Tracking with Kernels头文件代码框架
- View扩展
- WPF中的数据模板(DataTemplate)
- 字符测试函数:C语言isxdigit()函数----判断字符是否为16进制数字
- OGRE中mesh文件信息解析及提取之一