Java学习01(IntelliJ IDEA版)——基础语法01
本文是本人对Java的从头到尾的复习,这次试用的是IDEA这个开发工具,主要是为了查漏补缺自己之前遗忘的知识,但我相信这篇博客,对初学者也会有所裨益。
感谢:B站UP主狂神说Java
01.HelloWord
public class HelloWord {
public static void main(String args[]){
System.out.println("HelloWord!");
}
}
02.注释
书写注释是一个非常好的习惯!!!
1.单行注释
//注释
public class HelloWord {
public static void main(String args[]){
//单行注释
//输出一个HelloWord!
System.out.println("HelloWord!");
}
}
2.多行注释
/* 注释 */
public class HelloWord {
public static void main(String args[]){
/*
多行注释
输出一个HelloWord
*/
System.out.println("HelloWord!");
}
}
3.文档注释
详情请观看之后的学习笔记。
搜索“有趣的代码注释”有惊喜偶!
03.标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
1.关键字
abstract | assert | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class | const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
tracsient | try | void | volatile | while |
2.标识符注意点
1.所有标识符都是由数字、字母、下划线、$组成,但是不能以数字开头。
2.不能使用关键字作为变量名或者方法名。
3.标识符是大小写敏感的。
04.数据类型
强类型语言:要求变量的使用要严格符合规定,所有变量必须要定义之后才能使用。
弱类型语言:
Java是典型的强类型语言。
1.Java的数据类型
java数据类型分为两大类:基本类型(primitive type)和引用类型(reference type)。
基本数据类型:整数类型(byte、int、short、long)、浮点类型(float、double)、字符类型、boolean类型。
引用数据类型:类、接口、数组。
2.基本数据类型
1.八大基本数据类型:byte、int、short、long、float、double、char、boolean。
2.Long类型要在数字后边加一个L,float类型要在数字后边加一个F。
3.String不是基本数据类型,不是关键字,而是类。
public class DataType {
public static void main(String args[]){
//八大基本数据类型
//整数类型
byte numByte=10;
int numInt=100; //最常用
short numShort=1000;
long numLong=1000000000000L; //Long类型要在数字后面加个L
//浮点类型
float numFloat=10.1F; //float类型要在数字后边加个F
double numDouble=3.141592653635;
//字符类型
char nameChar='B'; //注意是单个字符,中文也行。
//字符串,String不是关键字,不是基本数据类型,而是类。
String nameString="Mr.WildFire";
//布尔类型:是,非
boolean flag=true;
}
}
3.引用数据类型
引用数据类型:类、数组、接口。详情请看后边的学习笔记。
4.字节
05.数据类型扩展
1.整数类型扩展:进制问题
二进制:0b开头 八进制:0开头 十进制:正常书写 十六进制:0X开头
public class DataType_Ex {
public static void main(String args[]){
/*
整数扩展:
进制问题
二进制:0b开头
八进制:0开头
十进制:
十六进制:0X开头 0~9 A~F(11-16)
*/
int num1=0b10;
int num2=010;
int num3=10;
int num4=0x10;
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
}
}
2.浮点类型扩展:银行问题
首先,让我们来看一段代码:
public class DataType_Ex2 {
public static void main(String args[]){
float num1=0.1F;
double num2=0.1;
System.out.println(num1==num2);
float num3=123456789101129299F;
float num4=num3+1;
System.out.println(num3==num4);
}
}
运行截图:
float类型的0.1不等于double类型的0.1;float类型的num3却等于num3+1之后的num4,这是为什么呢?
float是有限的,离散的,存在舍入误差问题,接近但不等于。
最好完全避免使用浮点数进行比较!!!
那么,该怎么处理银行业务呢?
使用BigDecimal类(数学工具类)。
详情参看后面笔记。
3.字符类型拓展:Unicode编码表
首先,我们来看一段代码:
public class DataType_Ex3 {
public static void main(String[] args) {
char c1='a';
char c2='边';
System.out.println((int)c1); //强制类型转换
System.out.println((int)c2); //强制类型转换
}
}
运行截图:
由此,我们可以看出所有的字符本质还是数字。
Unicode编码表:0~65536 2字节 每个字符都与数字一一对应。 u0000~uFFFF
例如:97=a 65=A
public class DataType_Ex3 {
public static void main(String[] args) {
char c3='u0061'; //转义字符
System.out.println(c3);
}
}
4.boolean类型扩展
boolean flag=true;
if(flag==true){}
if(flag){}
两种表现方式都正确,但是,代码要精简易读
5.思考
public class DataType_Ex4 {
public static void main(String[] args) {
String sa=new String("hello word");
String sb=new String("hello word");
System.out.println(sa==sb);
String sc="hello word";
String sd="hello word";
System.out.println(sc==sd);
}
}
详情请看之后笔记。