javaSE第二章笔记-爱代码爱编程
IDE的使用
(IntegratedDevelopment Environment )集成开发环境
用于提供程序开发环境的应用程序
包括代码编辑器,编译器,调试器和调试图形界面
注释
单行注释 // Ctrl+/
多行注释 /* */ Ctrl+Shift+/
文档注释 /**
* 用于类、方法、属性功能进行说明,调用时可以提供其功能介绍
*/
关键字
被java语言赋予特定含义的单词,用来修饰例如类;属性;方法(所有字母都为小写)
保留字
在java语言中未被使用的关键字,预留的,命名时要避免 goto const
标识符
java对各种变量、类、方法等命名时使用的字符序列
通俗讲:自己可以命名的名称
定义合法标识符规则
由26个英文字母大小写,0—9,_或$组成
数字不可以开头
不可以使用关键字和保留字,但能包含
java中严格区分大小写,长度无限制
标识符不能包含空格
变量
变量:程序中最基本的存储单元,程序中数值可变的
每一个变量使用前必须先申请(声明),然后必须进行赋值(填充内容),才能使用
本质上变量就是内存中的一块区域,通过变量名访问
语法:[修饰符] type varname [=value] [,varName[=value]·····]
Java数据类型
程序中对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
java语言是一种强数据类型语言,每个数据必须指定类型,指导JVM分配内存空间
数据类型
基本类型
整数类型(byte,short,int,long)、浮点类型(float,double)、布尔类型(boolean)、字符型(char)
引用类型
类(class)、接口(interface)、数组([])
Java基本数据类型
整数类型
类型 | 占用存储空间 | 表数范围 |
---|---|---|
byte | 1字节 | -128~127 |
short | 2字节 | -215~215-1 |
int | 4字节 | -231~231-1 |
long | 8字节 | -263~263-1 |
浮点类型
类型 | 占用存储空间 | 表数范围 |
---|---|---|
float | 4字节 | -3.403E38~3.403E38 |
double | 8字节 | -1.798E308~1.798E308 |
Java浮点类型常量默认为double型
逻辑型boolean(布尔)
boolean类型数据只允许取值true或false
注意:不可以0或非0的整数替代true和false
char字符型
char型数据用来表示通常意义上的字符,char占2字节,字符用单引号括起来的单个字符
例如:char c1=‘a’ char c2=‘中’
char运算
char类型可以运算是因为char在字符编码表中有对应数在Java中,对char类型字符运行时,直接当作对应编码表的整数来对待
基本数据类型转换
Java中可以从任意基本类型转型到另外的基本类型
有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算
例外:boolean类型不可以转换
默认转换
容量小的类型默认转换为容量大的数据类型
byte,short,char->int->long->float->double
byte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型
强制转换
容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意
ASCLL码
在计算机内部,所有数据都使用二进制表示。每一个二进制位(bit)有 0 和 1 两种状态,因此8个二进制位就可以组合出256 种状态,这被称为一个字节(byte)
一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111
缺点:不能表示所有字符
Unicode编码
一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,使用Unicode没有乱码的问题
Java采用unicode编码规范,其中完全包含ASCII编码
UTF-8(8位元Unicode Transformation Format)是针对Unicode的一种可变长度字符编码,它可以使用1-6个字节表示一个符号,根据不同的符号而变化字节长度,在utf-8编码表中,一个中文占3个字节,一个英文占1个字节
它可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部份修改后,便可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码
运算符
算术运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
- | 负号 | b=4;-b | -4 |
+ | 加 | 5+5 | |
- | 减 | 6-2 | 4 |
* | 乘 | 3*3 | 9 |
/ | 除 | 5/5 | 1 |
% | 取余 | 7%5 | 2 |
++ | 自增(前):先运算后取值 | a=2;b=++a; | a=3;b=3 |
++ | 自增(后):先取值后运算 | a=2;b=a++; | a=3;b=2 |
- - | 自减(前):先运算后取值 | a=2;b=–a | a=1;b=1 |
- - | 自减(后):先取值后运算 | a=2;b=a– | a=1;b=2 |
+ | 字符串相加 | “He”+”llo” | “Hello” |
比较运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
== | 相等于 | 4==3 | false |
!= | 不等于 | 4!=3 | true |
< | 小于 | 4<3 | false |
> | 大于 | 4>3 | true |
<= | 小于等于 | 4<=3 | false |
>= | 大于等于 | 4>=3 | true |
instanceof: 检查是否是类的对象 “Hello” instanceof String true
比较运算符的结果都是boolean型,也就是要么是true,要么是false。
逻辑运算符
逻辑与 | 逻辑或 | 逻辑非 | 短路与 | 短路或 | 逻辑异或 |
---|---|---|---|---|---|
& | | | ! | && | || | ^ |
a | b | a&b | a|b | !a | a^b | a&&b | a||b |
---|---|---|---|---|---|---|---|
true | true | true | true | false | false | true | true |
true | false | false | true | false | true | false | true |
false | true | fasle | true | true | true | false | true |
false | false | false | false | true | false | false | false |
&与&&的区别
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算
“|”和“||”的区别
同理,||表示:当左边为真,右边不参与运算
异或
异或( ^ ):当左右都为true时,结果为false
赋值运算符
运算符 | 用法举例 | 等效的表达式 |
---|---|---|
+= | a+=b | a=a+b |
-= | a-=b | a=a-b |
*= | a*=b | a=a*b |
/= | a/=b | a=a/b |
%= | a%=b | a=a%b |
条件运算符
语法: (条件表达式)?表达式1:表达式2;
条件表达结果 为true 运算结果是表达式1
为false 运算结果为表达式2
表达式1与表达式2为同种类型
条件运算符与if-else的联系与区别
1)条件运算符可简化if-else
2)条件运算符必须返回一个结果
3)if后的代码块可有多个语句
位运算
位运算符
<< | 空位补0,被移除的高位丢弃,空缺位补0 |
---|---|
>> | 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1 |
>>> | 被移位二进制最高位无论是0或者是1,空缺位都用0补 |
& | 二进制位进行&运算,只有1&1时结果是1,否则是0 |
| | 二进制位进行|运算,只有0|0时结果是0,否则是1 |
^ | 相同二进制位进行^ 运算,结果是0;1^1=0, 00=0,不相同二进制位 运算结果是1。1^0=1, 0^1=1 |
~ | 正数取反,各二进制码按补码各位取反,负数取反,各二进制码按补码各位取反 |
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/weixin_44702189/article/details/109080235