Java快速入门笔记-02 Java基础(基本数据类型、变量和常量、运算符、数组、字符串)
一、Java基本数据类型
Java语言提供了8种基本类型。6种数字类型(4个整数型,2个浮点型),1种字符类型,还有1种布尔型。
1.整数类型
Java的整数都是有符号的,用二进制表示都是补码形式(最高位0表示正,1表示负)。没有C中的unsigned
无符号类型。
byte 字节类型
大小:8 bit;
范围:-128 ~ 127;
默认值:0;int 整型
大小:32 bit;
范围:-2,147,483,648(-2^31)~ 2,147,483,647(2^31 - 1)
默认值:0;short 短整型
大小:16 bit;
范围:-32768(-2^15)~ 32767(2^15 - 1);
默认值:0;long 长整型
大小:64 bit;
范围:-9,223,372,036,854,775,808(-2^63)~ 9,223,372,036,854,775,807(2^63 -1);
默认值:0;
2.浮点数/小数类型
float 浮点型
大小:32bit;
精度:单精度;
默认值:0.0f;double 浮点型
大小:64bit;
精度:双精度;
默认值:0.0d;浮点数可以用科学计数法表示,如:
float f1 = 3.14f;
float f2 = 3.14e38f; // 科学计数法表示的3.14x10^38
double d = 1.79e308;
double d2 = -1.79e308;
double d3 = 4.9e-324; // 科学计数法表示的4.9x10^-324
注:当变量类型为float时,需要在加上f或F后缀,表明其精度类型。
3.字符类型
字符型char表示的是一个单一的 16 位 Unicode 字符;
- char 字符型
范围:\u0000
~\uffff
例如:char Char = 'A';
4.布尔类型
布尔类型就是true 或 false,没什么好说的。
例如:boolean T = true;
每个数据类型所占bit,以及最大最小值都是可以通过类似以下的方式查看的。
5.引用类型
首先说明,引用类型不属于基本的数据类型,引用类型的变量类似于C语言的指针,内部存储的是一个地址。Java的引用跟C++中的引用概念是类似的,可以说是为了干掉指针这个复杂的东西而衍生的。
引用类型最常用到的就是字符串类型String
,如定义一个字符串:String str = "string";
二、变量&常量
1.变量
变量定义:
- 方法1(只定义):
类型 + 变量名,如:int a;
- 方法2(定义并赋值):
类型 变量名 = 变量值,如:int a=1;
变量命名的规则:
- 必须以英文字母开头,后接字母,数字和下划线的组合
2.常量
变量是可以重新赋值的,常量的值在定义时初始化后不可再修改。
定义常量使用关键字final
,如:
final double PI = 3.14; // PI是一个常量
三、运算符
Java最基本的运算符包括:
算术运算符
包括加减乘除,+
、-
、*
、/
,以及自加、自减:++
、--
。关系运算符
关系是指:==
相等、!=
不相等、>
大于、>=
大于等于、<
小于、<=
小于等于。位运算符
C中经典的位运算Java中也有,即:&
位与、|
位或、^
位异或、~
位取反、<<
左移位、>>
右移位,还有一个>>>
右移补零,先不管他。逻辑运算符
包括:&&
逻辑与、||
逻辑或、!
逻辑非。赋值运算符
由等号=
赋值结合位运算符而来,有以下这些:
+ =
、- =
、* =
、/ =
、% =
、<< =
、>> =
、&=
、^ =
、| =
。其他运算符
如,条件运算符:x?y:z
,也称三元运算符。
Java的运算符基本与C语言的一致,学习过C可以直接跳过这部分。
四、数组和字符串
1.数组
Java定义数组的方式与C有点不同,定义方法如下:
类型+[]+数组名,如:
int[] array;
//定义一个整型数组array
使用C/C++中的方法(int array[]
)也是可以的,但不推荐。
- 定义操作举例:
- 定义并初始化数组:
int[] array = { 1, 2, 3, 4, 5};
- 定义一个大小为10的整型数组:
int[] array = new int[10];
- 使用new操作符初始化:
int[] array = new int[] { 1, 2, 3, 4, 5};
- 访问数组元素
使用索引访问数组的元素:
int[] array = { 1, 2, 3, 4, 5};
a = array[0]; // a = 1
- Java数组特点
- 数组所有元素初始化为默认值,整型都是0,浮点型是0.0,布尔型是false;
- 数组创建后大小不可改变。
2.字符串
- 字符和字符串的区别
Java的字符类型char
,占16bit,也就是2个字节。比C语言中的char多出一个字节,因此它可以存储范围更大的Unicode字符。Unicode编码无论是英文还是中文都采用两个字节存储,关于Unicode的介绍:Unicode。
字符串是一连串的字符,至少包含2个字符。
- 表示
Java字符串类型String
是引用类型,用双引号"..."
表示字符串。如:
String s = ""; // 空字符串,包含0个字符
String s1 = "A"; // 包含一个字符
String s2 = "ABC"; // 包含3个字符
String s3 = "中文 ABC"; // 包含6个字符,其中有一个空格
双引号表示的是单行的字符串,当需要表示包括换行在内的多行字符串时,可以用三个双引号表示(从java 13开始),如:
public class Main {public static void main(String[] args) {String s = """Helloworld!!!""";System.out.println(s);}
}
打印出来的结果是这样的:
Hello
world
!!!
- 转义字符
当我们需要在字符串中显示双引号或其他特殊的字符如回车换行(\r\n)等字符时,就会用到转义字符,如:
String Str = "this is \"this\""; //字符串Str的内容是: this is "this"
因为在"..."
之间再加入双引号会造成干扰,这里用\"
表示为"
,\"
就是转义字符。
常见的转义字符如下:
\"
表示字符"
\'
表示字符'
\\
表示字符\
\n
表示换行符
\r
表示回车符
\t
表示Tab
\u####
表示一个Unicode编码的字符
- 连接字符串
可以使用+
符号连接两个字符串,例如:
public class Main {public static void main(String[] args) {String s1 = "Hello";String s2 = "world";String s = s1 + " " + s2 + "!";System.out.println(s);//hello world!}
}
Java快速入门笔记-02 Java基础(基本数据类型、变量和常量、运算符、数组、字符串)相关推荐
- Java快速入门到精通— Java break语句详解
所有流行的编程语言中都有循环语句.JAVA 中采用的循环语句与C语言中的循环语句相似,主要有 while.do-while 和 for! 那么在某些时候需要在某种条件出现时强行终止循环,而不是等到循环 ...
- PHP 零基础入门笔记(3):PHP 变量和常量
PHP 变量和常量 PHP 基本语法 PHP 是一种运行在服务器端的脚本语言,可以嵌入到 HTML 中 1.PHP 代码标记 ASP 标记(asp_tags,已弃用) <% php代码 %> ...
- Gradle2.0用户指南翻译——第七章. Java 快速入门
翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc 本文翻译所在分支: https://github.com/msdx/gradledoc/tre ...
- Java快速入门学习笔记3 | Java语言中的表达式与操作符
有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...
- Java快速入门学习笔记2 | Java语言中的基本类型
有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
2019独角兽企业重金招聘Python工程师标准>>> 什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能 ...
- Java快速入门学习笔记9 | Java语言中的方法
有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...
- Java快速入门学习笔记8 | Java语言中的数组
有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...
- Java快速入门学习笔记7 | Java语言中的类与对象
有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...
- Java快速入门学习笔记6 | Java语言中的for循环语句
有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...
最新文章
- 中国互联网+光通信器件行业商业模式创新与投资机会深度研究报告
- 二分查找递归与非递归方式的实现
- 华为发布 AR 地图技术,但最佳的运行设备不是手机
- 研究人员使用脑机接口从神经信号中重建单词
- 丢失日志文件的风险与对策
- Integer进制转换
- python3 + selenium + (chrome and firefox)使用
- 如何提高数据库的访问效率?
- MediaStreamTrackAudioSourceNode
- 数组 排序 查找 多维数组
- 为什么选择spark
- 【渝粤教育】国家开放大学2018年春季 7138-21T人际交流与沟通 参考试题
- TOPSIS优劣解距离法
- html5考试总结300字,期中考试总结300字大全
- 计算机C盘空间减少,为何我的C盘空间突然减少好几个G?
- c语言长 短整型有无符号,整型和短整型,有符号和无符号
- 多双系统下蓝牙键盘鼠标的共享配对问题解决办法:win + debian + arch~IRK、LTK、ERand、EDIV、CSRK
- 指尖检测的新方法几种
- k8spod使用gpu
- AG9300:安格TypeC To VGA单芯片中文设计方案
热门文章
- w10桌面计算机图标箭头去除,win10专业版电脑桌面图标箭头快速去掉技巧
- ie8安装java提示被阻止_IE8浏览器安装失败的解决方法
- 一个简单的推荐系统实现
- 程序员必备的6个好习惯,成为更优秀的自己
- python连连看_Python 连连看连接算法
- golang实现的文件服务器
- python uwsgi_python,uwsgi_安装uwsgi时报错,python,uwsgi - phpStudy
- 我在华为工作十年的感悟
- 解决.NET Runtime Optimization Service(mscorsvw.exe)进程占用CPU过高的问题
- 你的程序员是在努力工作还是在偷懒?