java学习之路:3.数据类型 变量 运算符 转换
一.基本数据类型
java的基本数据类型大体上分为数值型,字符型,布尔型。
1.整数类型
而整数型又包括byte,short,int,long。
整数类型 |
内存 |
---|---|
byte |
8位(-128~127) |
short |
16位(-32768~32767) |
int |
32位(-2147483648~2147483647) |
lont |
64位(太大了) |
相对于C语言的整数类型来说,多了一个byte。 表示方法也和c一样: 十进制直接表示,八进制+0,十六进制+0X或0x
2.浮点数类型
浮点数有float double。
浮点数类型 |
内存 |
---|---|
float |
32位(1.4E-45~3.4028235E38) |
double |
64位 |
同样的,和C一样,java出现的小数默认都是double,如果要特定的使用float,需要在后面加上F或f。
3.字符型
字符型 char 16位 2字节
4.布尔类型
布尔类型用boolean定义,只有false 和true 两个值。
二.标识符
标识符(变量名字)可以有任意顺序的字母,下划线,和美元符号和数字构成,第一个字符不能是数字。
三.关键字
四.常量
声明一个常量 用关键字final 还要指明类型
例如 final double p=3.1415926;
五.逻辑与&&和&的区别
java的逻辑与有&&和&,这两个都表示逻辑与,但是&&具有短路功能,当第一个表达式的值为false的时候,则不再计算第二个表达式;&则两个表达式都执行。
int j=0;
if(j == 1 && ++j > 0 )
{
System.out.println("j = " + j);
}
if(i == 3 & ++i > 0 )
{
System.out.println("i = " + i);
}
运行以后会发现i的第一个if运行完,j的值并没有改变还是1,而第二个if运行完,j的值变为1。
六.运算符优先级
七.类型转换
1.隐式转换
隐式类型转换是从低到高,顺序为byte<short<int<long<float<double。
2.显式转换
如果当把高精度变量赋给低精度变量时,必须使用显示类型转换 在需要转换的变量前面加类型 例如 int a=(int)45.2; 当把整数赋值给一个byte short int long 变量时,不可以超出这些变量的取值范围,否则必须进行强制转换。
八.下一章的流程控制语句
读了一遍下一章的流程控制语句,和发现C语言一样,只是多了一个foreach语句,挺有意思的。 foreach语句是for语句的特殊简化版本,不能完全取代for语句,但任何foreach语句都能改写为for版本。 foreach语句在遍历数组等方面提供了极大的方便。 语法如下: for(元素变量X:遍历对象 obj) { 引用了x的java语句; }
int arr[]={7,10,1};
for(int x:arr)
{
System.out.println(x);
}
运行结果如图:
- 探寻ASP.NET MVC鲜为人知的奥秘(2):与Entity Framework配合,让异步贯穿始终
- Canvas 剪切图片
- 探寻ASP.NET MVC鲜为人知的奥秘(1):对LESS的支持
- Canvas 图片平铺设置
- Canvas 给图形绘制阴影
- State模式的经典应用场景:订单处理(c#实现)场景描述遇到问题解决问题走起
- ASP.NET SignalR 2.0入门指南介绍SignalRSignalR和WebSocket传输和回滚HTML5 传输协议Comet transports传输协议选择过程监测传输指定传输协议连接
- ASP.NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用Grunt和Gulp使用Grunt准备项目配置NPM配置Grunt集成起来监测文件变化与V
- 有趣的算法(三)——Hash算法
- JavaScript中的数据类型
- Logistic回归算法及Python实现
- <script>元素在XHTML中的用法
- 有趣的算法(四)——一致性Hash算法模拟redis集群
- ASP.NET5 中静态文件的各种使用方式服务端的静态文件开启目录浏览呈现默认文件使用UseFileServer方法文件类型基于IIS的考虑最佳实践
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Julia简易教程——3_复数和分数
- 怎么理解int main(int argc, const char *argv[])
- Julia简易教程——2_julia数学运算及其基本功能
- Elasticsearch: 运用 Field collapsing 来减少基于单个字段的搜索结果
- Julia简易教程——1_julia中的整数和浮点数
- Linux 工作常用命令笔记(持续更新)
- Vim实用技巧——Vim分屏技巧总结
- Activity onStop,onDestroy延迟10s执行
- 内存优化实战
- Nali:一个离线查询 IP 地理信息和 CDN 提供商的终端利器
- MySQL8.0的几个新特性
- read_only和super_read_only参数的区别
- AWS 命名提示需要指定 region
- AWS CodeArtifact 如何设置用户的 TOKEN
- GORM V2 自动迁移和迁移接口的方法