Java的学习记录:charpter2.Java语言基础

2.1Java的基本数据类型

2.1.1字符型

1.char型(单字符型)
字符类型char用于存储单个字符,占用16位的(两个字节)的内存空间。在定义单字符型变量时,要以单引号表示,如 ‘A’/ ‘字’。使用char关键字定义字符变量,例:
char x = ‘a’;
由于字符a在unicode表中的排序位置是97,因此也可以写成:
char x = 97;
**注意:**由于unicode编码采用无符号编码,可以储存65536(0x0000~0xffff),所以Java中的字符几乎可以处理所有国家的语言文字,若想得到一个 0~65536之间的数所代表的的unicode表中相应的位置上的字符,也必须使用char型显示转换。(示例如下)
在这里插入图片描述2.String型(字符串型)
字符串类型char用于存储多个字符,储存字符数取决于内存的大小,在定义字符串型变量时,要以双引号表示,如"AA"/“你好”。双引号之间可以有0~n个符号。
注意:Sting型是一个特殊的数据类型,它既是基本数据类型中的字符类型,也是引用数据类型。字符串拼接:要用 + 加号连接,从第一个字符串开始执行拼接运算,否则为加法运算。

2.1.2数值类型

整数类型:

整数类型用来存储整数数值,即没有小数部分的数值,可以是正数,也可以是负数。根据它所占内存空间的大小不同,可分为byte、short、int、long四种类型,他们有不同的取值范围。int是默认类型。

byte : 8位 ,1个字节;取值范围为 : -128~127
short: 16位,2个字节;取值范围为: -32768~32767
int : 32位,4个字节;取值范围为:-2147483648~2147483647
long: 64位,8个字节;取值范围为:正负2的128次方(整数最大)

注意:在定义以上4中类型的变量时,要注意变量的取值范围,超出相应范围会出错。例如,若将long型值赋给int,值大于或小于int的最大或最小值,需要在数值后加L或l,表示该数值为长整数long型,如 long num = 2463746326L

补充
数据类型的溢出:

当我们使用 byte b = 128; 时,肯定会报错。

但是使用 byte b = (byte)(127+1); 并不会报错。

而且运算的结果为 -128

我们可以向数据类型的取值范围看作是一个圆,每多一个数据向前移动一个,当数据达到最大值时,我们再加 1,可以就会变成最小值,这就是数据的溢出

2.1.3浮点(小数)类型

浮点类型表示有小数部分的数值,也叫小数类型,分为单精度型(float)和双精度型(double)两种,double型是默认类型。
float : 32位 ,4个字节;取值范围为 : 正负2的1024次方
double: 64位 ,8个字节;取值范围为 : 正负2的2048次方

注意:默认情况下,小数都被看作是double型,若使用float型小数,则需要在小数后面添加F或f。可以使用后缀d或D来明确表明这是一个double类型的数据,不加d或D不会出错,但声明float变量时如果不加f,系统会默认变量是double类型,从而出错。示例如float f1 = 28.36f;double d1 = 2734.34d;double d2 = 2734.34

2.1.4布尔类型

布尔类型又称逻辑类型,通过关键字boolean来定义布尔类型变量,只有truefalse两个值,分别代表逻辑中的’’和’’。布尔值不能与整数类型进行转换。布尔类型通常被用在流程控制中,作为判断条件。如boolean a = true;

2.1.5基本数据类型之间的转换

1.数值类型之间的转换:整数和小数之间的数值类型转换
​2.不同数值类型的大小关系:byte<short<int<long <float<double
3.两种转换类型
1).隐式类型转换(自动类型转换):小转大
int a = 800;
double b = a;
System.out.println(b);
结果输出为:800.0
2).显示类型转换(强制类型转换):大转小会丢失精度
double a1 = 600.87;
int b1 = (int)a1;
System.out.println(b1);
结果输出为:600
3.int转long: long time =1234576345875L; 受整数的默认类型是int的影响
4.double转float: floatRate = 0.005F; 受小数的默认类型是double的影响

2.2变量及常量

*什么是变量?
1.内存中的一个存储区域
2.变量就是在程序执行过程中,其值能被改变的量称为常量,其值不能被改变的称为常量
3.变量是程序中最基本的存储单元,包含变量类型、变量名和存储的值

*变量的作用?
在内存中保存数据的作用

*什么是常量?
程序运行过程中一直不会改变的量常量,通常也被称为“final变量”,常量在整个程序中只能被赋值一次

2.2.1标识符和关键字

什么是标识符?
标识符可以简单地理解为一个名字或者代号,用来标识类名、变量名、方法名、数组名、文件名等有效的字符序列。

什么是关键字
关键字是Java语言中已经被赋予特定意义的一些单词,不能把这些关键字作为标识符来使用,例如 int、boolean、this等。

标识符的命名规则
1.标识符由字母、数字、下划线_、美元符号、人命币符号或驼峰命名组成;为方便记忆可记忆成:“字下美人数骆驼
2.标识符的首字母可以是字母、下划线、美元或人命币符号开头,但是不能以数字开头
3.表示符的命名不能与关键字、布尔值(true、false)和null相同
4.标识符区分大小写,没有长度限制,坚持见名知义的原则
5.当变量名由多个单词组成的时候,每个单词之间用首字母是大写的方式连接,也可以把这种命名方式称为“驼峰命名法
注意
1.变量名和方法名的命名,所有字母必须小写,命名规则遵循标识符的命名
2.类名的首字母必须大写
3.包名和工程名所有字母必须小写
4.常量命名时,除了每个字母必须大写,当有多个单词组成时,每个单词之间要用下划线_分割连接在一起
5.不能将关键字

合法标识符如:
name、user_age、$price、¥price、STUDENT_NUM
非法标识符如:
null、@user、2name、STUDENTNUM

2.2.2变量及常量的声明

1.声明变量
语法:数据类型 变量名称;
如:int age;
2.变量的赋值
语法:变量名称 = 值;
如:age = 20;
3.变量的声明及赋值
语法:数据类型 变量名称 = 值(初始值);
如:int age = 20;
4常量的声明及赋值
语法:final 数据类型 常量名称 = 值
如:final double PI = 3.1415926D;
final boolean BOOL = true;

补充
1.通常将类的属性即变量的声明称为类的全局变量(成员变量
2.将方法中的属性称为局部变量
2.成员变量作用域在类中,包括方法中,而局部变量的作用域仅在方法体内有意义
3.当定义的final变量即常量属于成员变量时,必须在定义时就设定它的初始值,否则将会产生编译错误

2.2.3变量的有效范围

*变量有它的生命周期,因此,变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误,根据有效范围将变量分为“成员变量”和“局部变量”。

1.成员变量
在类体中方法外所定义的变量称为成员变量,成员变量在整个类中都有效。成员变量又可以分为静态变量和实例变量,如:
class var{
int x = 10;
static y = 20;
}
其中,x为实例变量,y为静态变量,在成员变量前面加上关键字static,这样成员变量称为静态变量

2.局部变量
在类中方法体内定义的变量(方法内部定义,“{”与“}”之间声明的变量)称为局部变量,局部变量只在方法体内部有效。如:
在这里插入图片描述注意:局部变量可与成员变量的名称相同,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效。

2.2.4注释

在实际开发中: 总比例: 源码:注释=>1:3

1.注释的快捷键

​ 单行注释:Ctrl+/

​ 多行注释:Ctrl+Shift+/

​ 文档注释:/** +回车键

2.注释的两个功能

​ ( 1)解释提示:规范,也是一种b编写代码的良好素养
​ ( 2)一般用来注释暂时不用,后期可能要用的代码:被注释的代码不会被编译,也不会被执行

3.注释的分类

​ 单行注释: //
​ 多行注释:/*… */
​ 文档注释:使用的是注释的解释提示功能,不能注释代码:/**… * … */

2.3运算符

1、赋值运算符: = 从右向左执行

​ 如:int age =20 ; =>将20赋值给变量age

2.算数运算符+(加法)、 - (减法)、 *****(乘法) 、 / (除法)、 %(余)

​ 1)算术表达式的结果类型:由表达式中的最大类型决定
如: 2/3 =>0 因为 2是int,3是int =>所以结果也是int,=0
​ 补充:可以通过21.0/3 得到小数
​ 2)除法/:如果分母为0:程序会报错:
java.lang.ArithmeticException 算数错误 / by zero =>除零错误
​ 3)++ 自运算(自增/自减)
​ 1.val++ 先取值,后计算(+1) :先进行表达式运算再+1
​ 2.++val 先计算(+1),后取值 :先+1再进行表达式运算
​ 4)特殊(赋值运算符):+=-+=/=%=

​ 5)特殊符号的目的是为了简化代码

3.关系运算符(比较运算符)>>=<<===!=
一般应用于数值类型,但==和!=可以支持数值类型、布尔类型、引用类型的比较
​ 1)关系表达式的结果为布尔值boolean: true 或 false

​ 2)非数值类型比较大小
​ 字符串的等值判断:boolean is = str1.equals(str2);

4.逻辑运算符&&(短路与)、||(短路或)、(非)
​ &(逻辑与):都为true,结果才是true,否则为false,无论左边表达式是true或false右边的表达式都运行
​ |(逻辑或):都为false,结果才是false,否则为true,无论左边表达式是true或false右边的表达式都运行

​ 1.二元运算符:&& 都为true,结果才为true,否则为false
​ 2.二元运算符:|| 都为false,结果才为false,否则为true
​ 3.一元运算符: 非真既假,非假既真
​ 4.短路:对于二元运算符,当左侧的表达式能够确定最终结果时,右侧表达式不予执行。

注意:因为&、|不论左边表达式是true或false右边的表达式都运行,所以为了提高计算机的运行效率,一般使用**&&、||**。

5.三元运算符: ?:
​ 1.功能:赋值
​ 2.语法:
xxx val = boolVal/逻辑表达式 ?val1:val2;
表达式结果true则将val1赋值给val,结果为false则将val2赋值给val。

补充:
控制台输出:
1.字符串之间采用+加号相互连接,如:
在这里插入图片描述2.埋坑法(字符串格式化工具)
(1) import java.text.MessageFormat;
(2)String format = MessageFormat.format("{0}xxx{n}",xxx,xxx)
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值