标签:运算符 Java 1.1 int float 语法 3.1 类型 变量
不以规矩,不能成方圆。——《孟子·离娄上》
1. 注释
书写注释是个非常好的习惯。注释既是提醒自己的工具,又是帮助他人的方法。
1.1 单行注释
//单行注释
1.2 多行注释
/*多行注释1
多行注释2
多行注释3*/
1.3 文档注释
可以使用javadoc工具软件来生成信息,并输出到HTML文件中。
/**
*文档注释
*@author printreisub
*@version 1.0
*/
2. 标识符
标识符是为方法、变量或用户自定义的名称。
2.1 标识符要求
- 所有标识符必须以字母,$,_开头;
- 首字符后必须跟以字母,$,_,数字;
- 标识符大小写敏感;
- 不能和关键字重复。
2.2 关键字
关键字是对编译器有特殊意义的固定单词,例如public、void、main等51个关键字。
3. 数据类型
Java为强类型语言,所有变量必须先定义才能使用。Java的数据类型分为基本数据类型和引用数据类型。
3.1 基本数据类型
3.1.1 整数类型
- 整数类型包括:byte, short, int, long四种类型;
名称 | 最小值 | 最大值 | 默认值 |
---|---|---|---|
byte | -2^7 | 2^7-1 | 0 |
short | -2^15 | 2^15-1 | 0 |
int | -2^31 | 2^31-1 | 0 |
long | -2^63 | 2^63-1 | 0L |
- 定义long类型变量时,赋值的数字后面需加L;
- L和l其实一样,只不过l经常被看成1,故采用大写L。
byte a = 1;
short b = 10;
int c = 100;
long d = 10L;
3.1.2 浮点类型
- 浮点类型包括:float, double两种类型;
- 定义float类型变量时,赋值的数字数字后面加F/f。
- float类型默认值是0.0f,double类型默认值是0.0d
float a = 212.5F
float b = 212.5f
double c = 212.5
3.1.3 字符类型
- char表示一个单一的 16 位 Unicode 字符;
- char可存储任意一个字符。
char a = "请"
3.1.4 布尔类型(boolean)
- boolean类型的取值就两个:true, false;
- boolean类型默认值为false;
boolean one = true;
boolean zero = false;
以上类型的占用字节数/取值范围可在Java源代码对应的类中进行查找。
3.1.5 拓展知识
3.1.5.1 位(bit)
计算机内部最小存储单元,用bit表示。
3.1.5.2 字节(byte):
计算机内部数据处理的基本单位,习惯用大写B表示。
3.1.5.3 二者关系
1B=8bit
3.1.5.4 字符
是指计算机中使用的字母、数字、字和符号。
3.1.5.5 特殊的字符——转义字符
\t 制表符
\n 换行符
4. 类型转换
-
类型由低到高转换顺序排序
byte,short,char-> int->long-> float-> double -
在运算时,不同类型数据先转化为同一类型,然后再计算。
-
注意:
3.1 布尔类型不能转换;
3.2 转换时可能存在内存溢出,精度存在问题;
3.3 从高到低强制转换,从低到高自动转换。 -
强制转换示例:
int a = 128;
byte b = (byte)a;
System.out.println(a);
System.out.println(b);
5. 变量
变量就是可以变化的量。
5.1 注意
- 变量必须有类型,可以是基本类型,也可以是引用类型;
- 每个变量名必须是合法标识符;
- 变量声明为完整语句,每一个声明都必须以 ; 结束;
- 类型不初始化,则赋值为默认值。除特殊规定(详见3.1)外,其余皆为null。
5.2 分类
5.2.1 类变量
在类里的变量(独立于方法之外),用static修饰。
5.2.2 实例变量
在类里的变量(独立于方法之外),不用static修饰。
5.2.3 局部变量
在类的某方法内有效的变量。
5.2.4 示例
public class Variable{
static int allClicks=0; // 类变量
String str="hello world"; // 实例变量
public void method(){
int i =0; // 局部变量
}
}
5.3 常量
常量就是值固定不变的特殊变量。
5.3.1 示例
final double PI = 3.1415927;
5.4 变量命名规则
5.4.1 基本要求
所有变量、方法、类名需见名知意!
5.4.2 约定俗成
命名 | 要求 |
---|---|
类成员变量 | 首字母小写+驼峰原则 |
局部变量 | 首字母小写+驼峰原则 |
方法名 | 首字母小写+驼峰原则 |
类名 | 首字母大写+驼峰原则 |
常量 | 大写字母+下划线 |
6 运算符
名称 | 符号 |
---|---|
算术运算符 | +,-,*,/,%,++,-- |
赋值运算符 | = |
关系运算符 | >,<,>=,<=,==,!=,instanceof |
逻辑运算符 | &&,,||,! |
自增自减运算符 | ++,-- |
位运算 | &,|,^,~,>> ,<< |
三元运算符 | ? |
拓展运算符 | +=,-=,*=,/= |
6.1 ++a与a++的区别
输入以下代码
int a=3;
int b=a++;
int c=++a;
System.out.println("b="+b);
System.out.println("c="+c);
//打印语句中的+为字符串连接符,不为运算符。
输出结果为:
b=3
c=5
6.2 原因
前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算;
后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算 。
6.3 幂运算
Java中的幂运算需要调用工具类Math
double pow = Math.pow(3,2);
6.4 位运算
A = 0011 1100;
B = 0000 1101;
A & B = 0000 1100;
A | B = 0011 1101;
A ^ B = 0011 0001;
~A = 1100 0011;
A >> 2 =0000 1111;
A << 2 =1111 0000;
6.5 三元运算符
6.5.1 格式
x ? y : z
6.5.2 含义
如果x为true,执行y;如果x为false,执行z。相当于if的精简版。
7 包机制
- 包的本质为文件夹;
- 目录结构为域名倒置,例如:com.printreisub.wiki;
- 导入包下的类,使用import,示例:
import com.printreisub.wiki.Demo1;
import com.printreisub.wiki.*;
附录
面试问题:银行存款使用数据类型
问题一
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d);
输出结果为:
false
问题二
float d1 = 21313123131321323131f;
float d2 =d1 + 1;
System.out.println(d1==d2);
输出结果为:
true
因此,double和float的使用存在一定局限性,不能精确的表示银行数字里的存款。此问题应当使用类BigDecimal。
-
希望在前进的道路上有更多志同道合的朋友!请看本人主页介绍!
-
本人非计算机科班出身,CFD方向本科生,待上岸二战生一名。如果写作内容存在问题,可联系我进行修改。
标签:运算符,Java,1.1,int,float,语法,3.1,类型,变量 来源: https://www.cnblogs.com/printreisub/p/15216371.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。