java数据类型(大小等),变量定义,各进制书写方法
1.

java中字符占两个字节,因为char类型占两个字节(16位),而C,C++中占1字节(8位)。
2. 变量定义
第一步:声明(Declaration)
第二步:赋值(Assignment)
这两步可以合并: int X = 10;
3.局部变量和全局变量可重名,方法中调用的是局部变量,方法外调用的是全局变量。
4.各进制书写方法
十进制无前缀
八进制(octal)前面加数字“0”
十六进制(hexadecimal)前面加“0x”或“0X”(数字“0”和字母“X”)。
5.科学计数(指数形式)
10e2 或 10E2或1.56e3
分别为10*10^2 ,10*10^2 和 1.56*10^3。其中,10e2还可以写成:10e+02
表示指数形式时,e前面必须有数字 ,e后面必须是整数。例如:7.012e+23f;
6.类型转换casting
小的赋给大的,自动转换(隐式转换Implicit Casting)
强制类型转换(Explicting Casting)是暂时的,一次性的,不会改变其后面表达式的类型,会出现截断(truncation)
如:a=3.45; (int)a = 3;
截断不是四舍五入!int a =(int)1.2; int b = (int) 1.9; //二者都是“1”,不会四舍五入!
若浮点值太大而不能适合目标整数类型。那么它的值将会因为对目标类型值域取模而减小。
如:byte b; int i = 257;
则 b = (byte)i; //则b=1
下面的代码供以后复习看:
public static void main(String args[]){
long y = 123;//√ long类型的数,最好后面明确指出,不指出也不会报错。
long x = 123L;
long z = 123l;
float a = 12;//√ 同样 后面最好加上f(F)
double b = 12;//√ 加上d(D)
//float aa = 12.0; //× 12.0若不加l(L),则默认为double类型
double bb = 12.0; //√
//'a'是字符常量;"a"是字符串常量
char c ='a';
String d = "a";
char ch1,ch2;
ch1 = 65; //√ 表示'A'
ch2 = 'B';
int ch = ch1 -ch2;//√ 自动转换成int
//char cc =ch1 -ch2;//× 自动转换成int
ch1++ ; //√ 表示'B'
//java 运行加减,直接把char 类型当做整数来运行
int s = 'a' +'b';//√ ‘a’就是97,则s = 195
char test1 = 'a' + 28;//√ test1为195对应的字符
char test2 = '中';//√
//int a = 1.2;//× 会损失精度,违法的
//以下都是隐式转换
byte e = 0x60;//√
int ie = e;//√
char g = 'a';//√
int ig = g;//√
long h = ig;//√
long i = 1000000000l;//√
float j = i;//√
double k =j;//√
String str = "hello";//√
Object o =s;//√
//以下都是显示转换
long l = 1000000L;
//int i =l;//×
Object o2 = new String("hello");
//String str2 = o2;//×
}
public class Test{
public static void main (String [] ABC){
long l = 0xfffl;
long l1= 0XfffL;//大小写不影响的哦~
int i = 0xFFFFFF1;
int j = ~i;
//则 j = 14;“~”为求补运算
float a1 = -1;//int to float
//float a2 = 1.0;//wrong~!double to float!
//float a3 = 42e1;//wrong~!double to float!
float a4 = 2.02f;
//float a5 = 3.01d;//wrong~!double to float!
float a6 = 0x00123;
Boolean b = null;
//boolean b1 = null;//这句错了!!why?
boolean c = true;
Boolean c1 = true;
// boolean是基本数据类型
// Boolean是它的封装类,和其他类一样,有属性有方法,可以new,例如:
// Boolean flag = new Boolean("true"); // boolean 则不可以!
// Boolean 是boolean 的实例化对象类,和Integer对应int一样
// 自jdk1.5.0以上版本后,Boolean在"赋值"和判断上和boolean一样,
// 即是你: boolean b1 = true ; 或者 Boolean b2 = true ; 都可以。
// 唯一只能使用Boolean上的就是从列表或者哈希表获取值时。
// 比如 boolean t = false;
// Map map = new HashMap();
// map.put("t", t);
// 那么获取值时只能用
// Boolean t1 = (Boolean) map.get(t); //前面只能用Boolean强制转换,不能使用boolean.
}
}
java数据类型(大小等),变量定义,各进制书写方法的更多相关文章
- JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算
JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都 ...
- java 将数字转成成16进制
java 将数字转成成16进制 CreationTime--2018年6月11日17点11分 Author:Marydon 1.前提 数字必须是byte类型,即[-128,127] 2.代码实现 ...
- 2 Java基础语法(keyword,标识符,凝视,常量,进制转换,变量,数据类型,数据类型转换)
1:keyword(掌握) (1)被Java语言赋予特定含义的单词 (2)特点: 所有小写. (3)注意事项: A:goto和const作为保留字存在. B:类似于Notepad++这种高级记事本会对 ...
- Java最常用的变量定义汇总
Java最常用的数据类型有基本数据类型,字符串对象,数组,基本数据类型又分为:数值型(包括整形和浮点型),字符型,布尔型,下面用一个简单的程序把这些数据类型汇总一下 public class Java ...
- [置顶] JAVA概述(6)常量,关键字,进制转换
21.关键字.... 变量: 就是将不确定的数据进行存储.也就是需要在内粗恩中开辟一个空间. 整数类型 1个字节 byte 占 8位 -128~~~127 2 ...
- java中把字节数组转换为16进制字符串
把字符串数组转换为16进制字符串 import java.security.MessageDigest; public class StringUtil { public StringUtil() { ...
- Java 将字节数组转化为16进制的多种方案
很多时候我们需要将字节数组转化为16进制字符串来保存,尤其在很多加密的场景中,例如保存密钥等.因为字节数组,除了写入文件或者以二进制的形式写入数据库以外,无法直接转为为字符串,因为字符串结尾有\0,当 ...
- java标签(label)求16进制字符串的整数和 把一个整数转为4个16进制字符表示
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #4f76cb } p.p2 { margin: 0.0px 0. ...
- Java 包装类及其与String转换、进制转换
一.包装类 1.基本类型和引用类型 Java中的基本类型我们都知道有8种,但是作为基本类型限制功能的发挥,例如整形转String类型等可能需要类方法实现会更加简便.那么八个基本类型对应八个包装类,即引 ...
随机推荐
- ssh WARNING:REMOTE HOST IDENTIFICATION HAS CHANGED(警告:远程主机标识已更改)
ssh 192.168.1.88 出现以下警告: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOT ...
- 安全路径——最短路径树+dsu缩边
题目描述 思路 首先想到$dijkstra$跑完之后$build$一棵最短路径树.要找到每个节点i到根的满足要求的最短路,考虑把一些非树边加进去. 对于非树边$(u,v)$,因为节点i上方的边被占领, ...
- Python基本数据结构之文件操作
用word操作一个文件的流程如下: 1.找到文件,双击打开 2.读或修改 3.保存&关闭 用python操作文件也差不多: f=open(filename) # 打开文件 f.write(&q ...
- 迁移桌面程序到MS Store(11)——应用SVG图标
在传统桌面程序中,对图标的使用大多是直接嵌入JPG或者PNG的图片.在祖传的1366x768分辨率下,并没有什么问题.相对于手机硬件的突飞猛进,也侧面反映了PC行业的落寞和桌面程序开发的不思进取.用3 ...
- go xml 序列化
/** 序列化 */ package main import ( "encoding/xml" "fmt" ) // Person 结构 type Person ...
- 开启docker远程访问
开启docker远程访问 进入到/lib/systemd/system/docker.service vim /lib/systemd/system/docker.service 找到ExecStar ...
- 使用ASP.NET Core 3.x 构建 RESTful API - 3.1 资源命名
之前讲了RESTful API的统一资源接口这个约束,里面提到了资源是通过URI来进行识别的,每个资源都有自己的URI.URI里还涉及到资源的名称,而针对资源的名称却没有一个标准来进行规范,但是业界还 ...
- 手把手教你实现热更新功能,带你了解 Arthas 热更新背后的原理
文章来源:https://studyidea.cn/java-hotswap 一.前言 一天下午正在摸鱼的时候,测试小姐姐走了过来求助,说是需要改动测试环境 mock 应用.但是这个应用一时半会又找不 ...
- 装上linux后的准备工作
A.修改对应网卡的IP地址的配置文件 1 2 3 4 5 6 7 8 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 IPV6INIT=no #关闭 ...
- 网站搭建 - Linux虚拟系统 - 时间设置 - root密码修改 - 建站
先试一下,如果不成的话,就不发表了. 下载织梦: 额,这个先还是不要下了. Linux是Apache + MySQL + PHP的套路,先下载吧,不摆图了,直接摆命令,我的是虚拟机,可能没有那么顺利. ...