如何创建一个项目
1、创建空项目
2、选择新模块
3、项目结构
1、注释、标识符、关键字
1)注释
public class HelloWorld {public static void main(String[] args) {System.out.println("hello world!");//单行注释/*这是多行注释这是多行注释*//*** @Description Hello world* @Author baoqiang*/}}
2)关键字
3)标识符
- 所有的组成成分都需要名字,类名、变量名、以及方法名都被成为标识符
- 注意点

2、数据类型
- 强类型语言
- 要求变量的使用要严格符合规定,所有变量必须先定义后使用
- 弱类型语言
- java数据类型分为两大类
1) 基本类型(primitive type)
```
// 八大数据类型
//整数
byte num = 10;
short num1 = 11;
int num2 = 13;
long num3 =14L;
// 浮点数 float num10 = 2.3F; double num12 = 234.34234234234;
// 字符 char a1 = ‘A’;//就是1个字 // String 不是关键字,是类 String namea = “我的”;
// 布尔 boolean flag = true;
- 什么是字节<a name="NAdz0"></a>#### 2) 引用类型 (reference type)- 面试题
// 整数 二进制0b、八进制0、十进制、十六进制0x int i = 1; int i2 = 010; int i3 = 0x10; System.out.println(i); System.out.println(i2); System.out.println(i3);
//浮点数 有限 离散 舍入误差 大约 接近但不等于BigDecimal
//为什么不相等,最好是完全使用浮点数进行比较(注意) float f = 0.1f; double d = 1.0 / 10; System.out.println(f == d);//false System.out.println(f);// 0.1 System.out.println(d);// 0.1
float f2 = 234234234234f; float d2 = f2 + 1; System.out.println(f2);//2.34234233E11 System.out.println(d2);//2.34234233E11 System.out.println(f2 == d2);//true
//字符串 所有的字符本身还是数字 编码 Unicode 占2字节 最多65536 char c20 = ‘a’; char c2 = ‘中’; System.out.println(c20); System.out.println((int)c20);//强制转换int 97
System.out.println(c2); System.out.println((int)c2);//强制转换int 20013
// 转义字符 \t 空格 \n 换行 System.out.println(“Hello\tWorld,\nmy love!”);
// 对象,从内存分析 String sa = new String(“hello world”); String sb = new String(“hello world”); System.out.println(sa==sb);//false
String sc = “hello world”; String sd = “hello world”; System.out.println(sc==sd);//true
//从布尔值扩展 boolean flag1 = true; if (flag1==true){} if(flag1){}
<a name="JP0JC"></a>### 3、类型转换- 转换容量 从低到高- byte short char int long float double<a name="HSRXs"></a>#### 1)强制类型转换(高 -> 低)<a name="GoDt5"></a>#### 2)自动类型转换(低 -> 高)
/*
- 不能对布尔值转换
- 转换的时候可能会发生内存溢出、或精度问题 */ System.out.println((int)-25.4f); System.out.println((int)23.5f); char c = ‘a’; int b = c +1; System.out.println(b); System.out.println((char)b);
//操作比较大的数 注意溢出问题,数字间可以用 _ 分割,先把一个数转换类型
int r = 10_0000_0000; int years = 20; System.out.println(r * years); //-1474836480
long total3 = r * ((long)years); //20000000000 System.out.println(total3);
<a name="beuUF"></a>### 4、变量、常量<a name="VzRiT"></a>#### 1)变量- 变量是最基本的存储单元,要素包括变量名、变量类型、作用域- 每个变量都有类型,类型可以是基本类型,也可以是引用类型- 变量名必须是合法的标识符- 变量声明是一条完整的语句,因此每一个声明都以分号;结尾。- 变量作用域- 类变量- 实例变量- 局部变量
public class HelloWorld {
static int callClick = 8;//类变量
String str1 = “hello world”;// 实例变量
public static void main(String[] args) {
int u = 0;//局部变量
}
}
//使用
public class demo01 {
static double salary = 2500;// 类变量
String str1 = "hello world";public static void main(String[] args) {System.out.println(salary);//类变量使用//实例变量使用demo01 demo01 = new demo01();System.out.println(demo01.str1);int i = 10;//局部变量使用System.out.println(i);}
}
<a name="U0Vcx"></a>#### 2)常量- 特殊的变量,不能改变
// 修饰符不存在先后static final int IP = 123123;
<a name="na7kQ"></a>#### 3)变量的命名规范<a name="PJA7a"></a>### 5、运算符- Java语言支持如下运算符- **代码示例**
package operator;
public class Demo02 { public static void main(String[] args) { long a = 1231231231231231L; byte b = 10; int c = 123; short d = 11;
System.out.println(a + b); // 有long 类型的,最终结果是long类型,其余都是int类型System.out.println(b + c + d);System.out.println((double) (c + d));}
}
#
package operator;
public class Demo01 { public static void main(String[] args) { int a = 10; int b = 20; int c = 11; int d = 1;
System.out.println(a+b);System.out.println(a-b);System.out.println(a*b);System.out.println((double)d/c); // 只要将一方的类型转换即可显示正常}
}
<a name="rUCve"></a>#### 1)自增自减运算符
package operator;
// ++ — 一元运算符, public class Demo03 { public static void main(String[] args) { int a = 3; int b = a++;//先赋值,后自增 int c = ++a;//先自增,后赋值
System.out.println(a); //5System.out.println(b); //3System.out.println(c); //5// 幂运算double d = Math.pow(2,3);System.out.println(d); //8.0}
}
<a name="krKEd"></a>#### 2)逻辑运算符
package operator;
public class Demo04 { public static void main(String[] args) { / 与 && 或 || 非! / boolean a = true; boolean b = false; System.out.println(a); System.out.println(b); System.out.println(“a && b: “ + (b&&a)); System.out.println(“a || b: “ + (b||a)); System.out.println(“!(a && b): “ + !(b&&a));
// 短路运算int c = 5;boolean d = (c < 4)&&(c ++ <4);System.out.println(d);System.out.println(c);}
}
#
true false a && b: false a || b: true !(a && b): true false 5
<a name="CqJNL"></a>#### 3)三元运算符
// 三元运算符 x ? y : z double score = 99.4; String a = score > 100 ? “及格” : “不及格”; System.out.println(a);//不及格
<a name="FpAio"></a>#### 4)位运算符
// 2 8 如何效率最高 二进制 8位为一个存储单位,8位(一字节)表示的范围是0-255共256个数字 / 0000 0000 0 0000 0001 1 0000 0010 2 start 0000 0011 3 0000 0100 4 0000 1000 8 0001 0000 16 end */ System.out.println(2 << 3);
<a name="Hqq5B"></a>### 6、包机制、javaDoc<a name="FQrxr"></a>#### 1)包机制- 本质: 文件夹- 注意- 包名不要和类型重复- 必须放在文件最上方- import com.kuang.base.* //导入这包的所有类- 阿里巴巴开发手册- 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间- 包语句的语法格式package pkg1[. pkg2[. pkg3]]- 一般公司域名倒置作为包名- 为了能够使用一个包的成员,我们需要在java程序中明确导入该包,使用import语句可完成此功能- import package [. package2...].(classname | *);<a name="bRRuI"></a>#### 2)javaDoc- 类和方法都可以注释<a name="ThHJf"></a>##### 1)代码示例
javadoc -encoding UTF-8 -charset UTF-8 Doc.java // Doc.java package com.kuang.base;
/**
- @author Kyrie
- @version 1.0
@since 1.8 */ public class Doc { String name;
/**
3)生成目录文档


