简述Java变量和强制转换类型
简述Java变量和强制转换类型
java变量
1. java变量
变量:顾名思义,就是在java执行程序过程中可以发生改变的量,就好比方程式中的未知数X一样。
变量的内存分配过程
int a ; //声明
a = 10; // 赋值
System.out.println(a); //使用
2. 数据类型
八大基本数据类型
| 整数类型(5种) | 字节数(1字节=8bit) | 取值范围 |
|---|---|---|
| byte | 1 | -27~27(2^8=256种状态) |
| short | 2 | -215~215-1 |
| int | 4 | -231~231-1 |
| long | 8 | -263~263-1 |
取值范围:类型容量是2^(字节数*8)^,正负对半,
负数范围-2^(字节数*8-1)^~-1
整数范围0~2^(字节数*8-1)^-1
| 浮点类型(2种) | 字节数(1字节=8bit) | 取值范围 |
|---|---|---|
| float | 4 | -3.403E38~3.403E38 |
| double | 8 | -1.798E308~1.798E308 |
虽然double和long都是8个字节,但是因为存储方式的不同,所以取值范围不同。
而且浮点类型在计算时会有精度丢失,所以不能用来作为金融方面的精准计算。
| 布尔类型 | 字节数 | 取值范围 |
|---|---|---|
| boolean | 1 | True false(0 or 1) |
| 字符类型 | 字节数 | 取值范围 |
|---|---|---|
| char | 2 | 0~2^16-1(65535) |
char的赋值方法:
char ch=97 直接读取字符编码
char ch=’a’ 字符赋值
char ch=’\u0043’ 对应的Unicode编码有0~65535个’\u0041’为十六进制也就是97
char ch=’中’ 中文字符占2个字节,而在Unicode编码中也有对应的字符。
接口类数据类型
类 class
接口 ingterface
数组 [] int[]
强制转换类型
类型转换的基本原则是取值范围由小向大转换,即有
byte-->short-->int-->long-->float-->double
char -->
注意:
i. char与byte、short不存在子集关系所以不能自动转换
ii. 其他都可以直接自动转换
iii. boolean类型不参与类型转换
1.自动类型转换
byte a=10;
int b = a; //没问题可以自动转换
2.强制类型转换
int b=10;
byte a=(byte)b; //大范围转小范围必须使用强制转换
3.short tybe定义
byte a=127; //在范围内直接
short b = (short)36666; //超出short的范围了默认是int必须使用强制转换
4.char与short byte 之间必须使用强制转换
byte a=99;
char b = (char)a;
5.在计算过程中,会自动向高类型转换
int a=5;
double b=3.69;
float c = (float)ab; //ab结果已经是double类型,所以需要强制转换
6.byte short char之间的运算,底层都会转换为int类型
byte a=10;
char b=’a’;
short c=(short)a*b; //不管是否存在子集,在运算过程中编译器已经把全部数值都转换为int类型。
7.字符串和任何类型进行加法运算都是进行拼接操作的,在JavaScript中可以进行其他运算。
System.out.println(2 + 2 + "22" + 2 + 2); //输出结果为42222;字符前是常量运算,编译器自动运算,后面都是从左向右进行拼接操作。
简述Java变量和强制转换类型的更多相关文章
- python 查看帮助和变量的强制转换
查看帮助 dir() 函数 查看对象都有哪些属性和方法 用法:把要查询的对象写入()括号中即可 print(dir([])) (查看列表的方法) 执行: C:\Python27\python.exe ...
- PHP强制转换类型
PHP强制转换类型 获取数据类型 : 1.如果想查看某个表达式的值和类型,用var_dump(). 2.如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype().3.要查看某个类型 ...
- TypeError: Error #1034: 强制转换类型失败:无法将 mx.controls::DataGrid@9a7c0a1 转换为 spark.core.IViewport。
1.错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 mx.controls::DataGrid@9aa90a1 转换为 spark.core.IViewport. ...
- TypeError: Error #1034: 强制转换类型失败:无法将 flash.events::MouseEvent@73b7cc1 转换为 mx.events.ItemClickEvent。
1.错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 flash.events::MouseEvent@73b7cc1 转换为 mx.events.ItemClick ...
- TypeError: Error #1034: 强制转换类型失败:无法将 "" 转换为 Array。
1.错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 "" 转换为 Array. at mx.charts.series::LineSeries/ ...
- TypeError: Error #1034: 强制转换类型失败:无法将 "0.49" 转换为 mx.graphics.IFill。
1.错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 "0.49" 转换为 mx.graphics.IFill. at mx.charts.ser ...
- Web | JavaScript的引用数据类型强制转换类型
我在这里主要的想提下的是JavaScript中的引用类型进行强制转换类型.因为对于基本数据类型的变换大多都是雷同的,很容易熟知,但是引用数据类型有一点小插曲. JavaScript的引用类型主要为对象 ...
- C++下的强制转换类型
一.static_cast static_cast,静态类型转换. 下面,我举几个例子,大家就能清楚了. int main(int argc, char const *argv[]) { char ...
- java 中的强制转换
强制转换分两种,一种是基础类型强制转换(Type Conversion),一种是引用类型强制转换(Class Casting):
随机推荐
- 第六章 MySQL 查询
查询数据表 语法: SELECT {* | <字段列表>} [ FROM <表1>, <表2>.... [ where <表达式> ] [ group ...
- Java 面试知识点解析(三)——JVM篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- js基础进阶--编的实用技巧(一)
我的个人博客:http://www.xiaolongwu.cn 在平时的开发中,编码技巧很重要,会让你少写很多代码,起到事倍功半的效果. 下面总结几种简单的技巧,大家共同学习一下 1. 利用+.-./ ...
- centos7 mysql安装
一.系统环境 [root@localhost home]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 二.mysql安装 ...
- Linux共享库、静态库、动态库详解
1. 介绍 使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用.程序函数库 ...
- sql server 高可用性技术总结
一. 复制Replication(快照.事务.合并) 应用场景: 负载均衡.提供副本读,写操作. 分区将历史数据复制到其它表中. 授权,将数据提供它人使用. 数据合并. 故障转移. 优点: 实现简单 ...
- 架构选型之Nodejs与Java
前言: 身边越来越多的同事谈论Nodejs,谈其异步IO.事件回调.前后台统一一门语言,创业的朋友的第一个创业项目也选择了Nodejs,期望能够使用一种语言节省成本快速完成需求开发.与其他项目组的同事 ...
- Mac下安装git
gti下载地址 https://git-scm.com/downloads 一步一步来就完事了.安装完以后执行 git version 查看是否更新到了该版本
- 向combobox控件中添加元素
函数定义: bool FillComboBox(CComboBox* pc, CStringList& slValues, bool bOnlyUniqueValues = false); 函 ...
- B20J_2733_[HNOI2012]永无乡_权值线段树合并
B20J_2733_[HNOI2012]永无乡_权值线段树合并 Description:n座岛,编号从1到n,每座岛都有自己的独一无二的重要度,按照重要度可以将这n座岛排名,名次用1到 n来表示.某些 ...