一、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最基本的运算符包括:

  1. 算术运算符
    包括加减乘除,+-*/,以及自加、自减:++--

  2. 关系运算符
    关系是指:==相等、!=不相等、>大于、>=大于等于、<小于、<=小于等于。

  3. 位运算符
    C中经典的位运算Java中也有,即:&位与、|位或、^位异或、~位取反、<<左移位、>>右移位,还有一个>>>右移补零,先不管他。

  4. 逻辑运算符
    包括:&&逻辑与、||逻辑或、!逻辑非。

  5. 赋值运算符
    由等号=赋值结合位运算符而来,有以下这些:
    + =- =* =/ =% =<< =>> =&=^ =| =

  6. 其他运算符
    如,条件运算符:x?y:z,也称三元运算符。

Java的运算符基本与C语言的一致,学习过C可以直接跳过这部分。

四、数组和字符串

1.数组

Java定义数组的方式与C有点不同,定义方法如下:

类型+[]+数组名,如:int[] array; //定义一个整型数组array

使用C/C++中的方法(int array[])也是可以的,但不推荐。

  1. 定义操作举例:
  • 定义并初始化数组:
int[] array = { 1, 2, 3, 4, 5};
  • 定义一个大小为10的整型数组:
int[] array = new int[10];
  • 使用new操作符初始化:
int[] array = new int[] { 1, 2, 3, 4, 5};
  1. 访问数组元素
    使用索引访问数组的元素:
int[] array = { 1, 2, 3, 4, 5};
a = array[0]; // a = 1
  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基础(基本数据类型、变量和常量、运算符、数组、字符串)相关推荐

  1. Java快速入门到精通— Java break语句详解

    所有流行的编程语言中都有循环语句.JAVA 中采用的循环语句与C语言中的循环语句相似,主要有 while.do-while 和 for! 那么在某些时候需要在某种条件出现时强行终止循环,而不是等到循环 ...

  2. PHP 零基础入门笔记(3):PHP 变量和常量

    PHP 变量和常量 PHP 基本语法 PHP 是一种运行在服务器端的脚本语言,可以嵌入到 HTML 中 1.PHP 代码标记 ASP 标记(asp_tags,已弃用) <% php代码 %> ...

  3. Gradle2.0用户指南翻译——第七章. Java 快速入门

    翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc 本文翻译所在分支: https://github.com/msdx/gradledoc/tre ...

  4. Java快速入门学习笔记3 | Java语言中的表达式与操作符

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  5. Java快速入门学习笔记2 | Java语言中的基本类型

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  6. [Java入门笔记] 面向对象编程基础(二):方法详解

    2019独角兽企业重金招聘Python工程师标准>>> 什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能 ...

  7. Java快速入门学习笔记9 | Java语言中的方法

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  8. Java快速入门学习笔记8 | Java语言中的数组

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  9. Java快速入门学习笔记7 | Java语言中的类与对象

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  10. Java快速入门学习笔记6 | Java语言中的for循环语句

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

最新文章

  1. 中国互联网+光通信器件行业商业模式创新与投资机会深度研究报告
  2. 二分查找递归与非递归方式的实现
  3. 华为发布 AR 地图技术,但最佳的运行设备不是手机
  4. 研究人员使用脑机接口从神经信号中重建单词
  5. 丢失日志文件的风险与对策
  6. Integer进制转换
  7. python3 + selenium + (chrome and firefox)使用
  8. 如何提高数据库的访问效率?
  9. MediaStreamTrackAudioSourceNode
  10. 数组 排序 查找 多维数组
  11. 为什么选择spark
  12. 【渝粤教育】国家开放大学2018年春季 7138-21T人际交流与沟通 参考试题
  13. TOPSIS优劣解距离法
  14. html5考试总结300字,期中考试总结300字大全
  15. 计算机C盘空间减少,为何我的C盘空间突然减少好几个G?
  16. c语言长 短整型有无符号,整型和短整型,有符号和无符号
  17. 多双系统下蓝牙键盘鼠标的共享配对问题解决办法:win + debian + arch~IRK、LTK、ERand、EDIV、CSRK
  18. 指尖检测的新方法几种
  19. k8spod使用gpu
  20. AG9300:安格TypeC To VGA单芯片中文设计方案

热门文章

  1. w10桌面计算机图标箭头去除,win10专业版电脑桌面图标箭头快速去掉技巧
  2. ie8安装java提示被阻止_IE8浏览器安装失败的解决方法
  3. 一个简单的推荐系统实现
  4. 程序员必备的6个好习惯,成为更优秀的自己
  5. python连连看_Python 连连看连接算法
  6. golang实现的文件服务器
  7. python uwsgi_python,uwsgi_安装uwsgi时报错,python,uwsgi - phpStudy
  8. 我在华为工作十年的感悟
  9. 解决.NET Runtime Optimization Service(mscorsvw.exe)进程占用CPU过高的问题
  10. 你的程序员是在努力工作还是在偷懒?