Java基本

华年 等级 726 0 0
标签: Java

一.整型变量

1.基本格式
int 变量名 = 初始值;

2.java中的int是4个字节。
3.java中int的最大值和最小值

如果数大于0,则最高位为0,如果数小于0,则最高位为1。在判断数值范围时,不用考虑负数采用补码形式存储,因为补码和原码是一一对应的。当最高位是1,即为负数,后面最多还有31个1,而这31个1的加值之和为2的31次方-1,而负数最高位也为1,该位在再次进位时仍满足负数的条件,即可将最高位看成数值位,故最小值为-2的31次方,最大值整数最高位必须一值为1,且原码等于补码,这就限制了整数的最大值31位的1相加,之和为2^

4.如果一个局部变量,没有进行初始化则不能使用他。
标识符可以包含:数字 字母 下划线 符 , 但 开 头 不 能 用 数 字 , 不 建 议 用 下 划 线 和 符,但开头不能用数字,不建议用下划线和 符,但开头不能用数字,不建议用下划线和.

二. 长整型变量

定义一个长整型,数字后面必须加L

java与c语言不同,没有所谓的无符号,Long有8个字节,64个比特位,首位是符号位。
如果想打印汉字的话用加号拼接。

任何类型的数据和字符串进行拼接,结果就是字符串。

小数默认为双精度类型。

因为a和b都是整型,所以打印的也是整型,不能保存小数。

任何的小数都是有精度的,没有精确值,只有一个范围,要研究这个问题需要了解浮点数在内存中的存储。
一般情况下,遇到小数,建议使用double

float是4个字节,不能把double类型放在float类型里,会编译错误,需要在小数后面加个f,体现了Java的安全。

五.字符数据类型

在java中char占两个字节,在c语言中是占一个字节的。

在java中遵循unicode字符集类似于c语言中的asii值,但unicode表示字符的范围更广了。

注意事项:

  1. 字节类型表示的也是整数. 只占一个字节, 表示范围较小 ( -128 -> +127 )
  2. 字节类型和字符类型互不相干。

每一种数据类型在赋值的时候不能超过其范围,否则会报错。

short是两个字节,取值范围是-32768到32767.
这个表示范围较小,一般不建议使用。

布尔类型:
1.在java中,布尔类型没有明确的大小。
2.在java中,布尔类型只有两个取值,true和false。
3.在java中,没有所谓的0是假,非0是真。

总结:
java中8种基本的数据类型分别是一下的:
1 2 2 4 8 4 8
byte char short int long float double boolean
Byte Character Short Integer Long Float Double Boolean

字符串类型变量

字符串类型用String进行定义
注意事项:

  1. Java 使用 双引号 + 若干字符 的方式表示字符串字面值.
  2. 和上面的类型不同, String 不是基本类型, 而是引用类型(后面重点解释).
  3. 字符串中的一些特定的不太方便直接表示的字符需要进行转义.
    字符串的 + 操作, 表示字符串拼接: 当一个 + 表达式中存在字符串的时候, 都是执行字符串拼接行为.
    因此我们可以很方便的使用 System.out.println 同时打印多个字符串或数字。

理解数值提升

int 和 long 混合运算

结论: 当 int 和 long 混合运算的时候, int 会提升成 long, 得到的结果仍然是 long 类型, 需要使用 long 类型的变量来
接收结果. 如果非要用 int 来接收结果, 就需要使用强制类型转换.
byte 和 byte 的运算

byte a = 10; 
byte b = 20; 
byte c = a + b; 
System.out.println(c); 
// 编译报错
Test.java:5: 错误: 不兼容的类型: 从int转换到byte可能会有损失
 byte c = a + b; 

结论: byte 和 byte 都是相同类型, 但是出现编译报错. 原因是, 虽然 a 和 b 都是 byte, 但是计算 a + b 会先将 a 和 b 都提升成 int, 再进行计算, 得到的结果也是 int, 这是赋给 c, 就会出现上述错误。
由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据. 为了硬件上实现方便, 诸如 byte 和 short 这种低于4 个字节的类型, 会先提升成 int, 再参与计算。
类型提升小结:

  1. 不同类型的数据混合运算, 范围小的会提升成范围大的.
  2. 对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算.

int 和 String 之间的相互转换

int 转成 String

int num = 10; 
// 方法1 
String str1 = num + ""; 
// 方法2 
String str2 = String.valueOf(num); 

String 转成 int

String str = "100"; 
int num = Integer.parseInt(str); 

运算符

1.基本四则运算符 + - * / %
规则比较简单,值得注意的是除法
a) int / int 结果还是 int, 需要使用 double 来计算
b) 0 不能作为除数
2.关系运算符返回类型都是boolean类型。
3.移位运算符
左移 <<: 最左侧位不要了, 最右侧补 0。
右移 >>: 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)

收藏
评论区

相关推荐

Caused by: java.lang.RuntimeException: xxl-job jobhandler naming conflicts.
xxljob报这个错误,是因为jobHandler名字重复了,记录一下。
java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'XXXXX' bean
mvc项目启动报这个错原因:rest/controller中映射的地址重复
HelloWorld
Finally find this place.Nice to meet you all.关注helloworld社区也有一段时间了,由于是新晋社区资源较少,一直没有怎么真正的去使用,只是单纯觉得界面美观简洁,符合自己的审美,偶尔逛逛而已。今天终于有时间可以可以坐下来说说话,都说程序员的第一行输出是helloworld,在这个社区的第一篇博客我也
垃圾回收机制
GC标记算法 对象被判定为垃圾的标准:没有被其他对象引用 引用计数算法: 判断对象的引用数量: 通过判断对象的引用数量来决定对象是否可以被回收 每个对象实例都有一个引用计数器,被引用则1,完成引用则1 任何引用计数为0的对象实例可以被当做垃圾收集 优点:执行效率高,程序执行受影响较小。
如何设计一个数据库?
设计两个大模块,存储(文件系统)与程序的实例模块。程序的实例模块划分为:存储管理,缓存机制,SQL解析,日志管理,权限划分,容灾机制,索引管理,锁管理。 为什么使用索引? 假设使用原始的全表查询,那么对于小量数据可能速度并没有影响,但是在大量数据的情况下会使得速度很慢。而索引,则类似于字典中的偏旁部首,加快了查询的效率。 二叉
第一天:今天学spring的时候遇到一个错误
具体错误如下:Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'testDao' is defined at org.springframework.beans.factory.support.D
Java 基础 SDK区别简介
1. Java SE(Java Platform,Standard Edition),应该先说这个,因为这个是标准版本。 Java EE (Java Platform,Enterprise Edition),java 的企业版本 Java ME(Java Platform,Micro Edition),java的微型版本。 1). JavaSE 可以
Java 高级应用编程 第一章 工具类
**一、Java API** **Java API简介** 1、API (Application Programming Interface) 应用程序接口 2、Java中的API,就是JDK提供的各种功能的Java类 3、JDK帮助文档   JAVA\_API\_CN.chm   官网地址http://www.oracle.com/tech
java 配置環境
JAVA\_HOME                                      C:\\Java\\jdk1.8.0\_11 PATH:                                                 %JAVA\_HOME%\\bin;%JAVA\_HOME%\\jre\\bin; CLASSPATH: 
java基础知识随身记
2018年11月12日20:51:35 一、基础知识: 1、JVM、JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。   java语言是跨平台,jvm不是跨平台的。 JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类
java学习第一步
Java SE 磨刀不误砍柴工,工欲善其事必先利其器,咱们先搞好硬件配置,才能顺利的搞好Java学习 阶段一 1、认识Java 2、java发展史及用户 3、配置Java环境 4、JDK8下载安装 5、配置环境变量     JAVA\_HOME配置         java\_home配置两种方法:                 1、J
java的特性
java的特性 ======= 1、Java语言是简单的 2、Java语言是面向对象的 3、Java语言是分布式的 4、Java语言是健壮的 5、Java语言是安全的 6、Java语言是可移植性的 7、Java语言是解释型的 8、Java语言是多线程的 9、Java语言是动态的语言   **Java语言是简单的:**  
How to switch java version on ubuntu 20.04
* View all java versions lwk@qwfys:~$ update-java-alternatives --list java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64 java-1.8.0-ope
Jmeter使用过程中遇到的问题
**问题一:** 已安装java,也配置了java环境变量,但打开jmeter时提示:Not able to find Java executable or version. **解决方法:** 在jmeter.bat文件前面加上以上两句: SET JAVA\_HOME=C:\\Program Files\\Java\\jdk1.7.0\_51 S
Linux中查看jdk安装目录、Linux卸载jdk、rpm命令、rm命令参数
一、查看jdk安装目录 ----------- [root@node001 ~]# whereis java java: /usr/bin/java /usr/local/java #java执行路径 [root@node001 ~]# which java /usr/bin/java #查看JDK安装路径