目录
使用eclipse构建java项目
Eclipse创建SimpleProject (一个简单的项目)
-
找到File文件new新建一个Maven Project
-
勾选选**Create a simple project(skip archetype selection)**创建一个简单的项目(跳过一个骨架选择)
-
点击Next下一步在Group Id处写入(例:com.lihaozhe),Artifact Id处写入(例:day03),点击Finish完成,等待下面进度条跑完即可
-
新建完成后点击左侧day03下的src/main/java右键new新建class类
-
在新建的java-class类中找到Package写入(例:com.lihaozhe.day03),name名字写入(例:Demo01),然后勾选(自动生成)public static void main (String[] args);,点击Finish完成
-
在Demo01中输入
System.out.println("我爱你中国");
- 然后右键空白处,选择run as下的java application
控制台会输出
我爱你中国
Java注释
注释: 就是对一段程序的描述 便于程序员理解和使用该程序
单行注释
双斜线为单行注释或单斜线加*号也是单行注释
public class HelloWorld {
public static void main(String[] args){
// 这是单行注释的示例
/* 这个也是单行注释的示例 */
System.out.println("Hello World");
}
}
多行注释
单斜线加*号回车是多行注释
public class HelloWorld {
/* 这是第一个Java程序
* 它将输出 Hello World
* 这是一个多行注释的示例
*/
public static void main(String[] args){
System.out.println("Hello World");
}
}
文档型注释
文档型注释: 一般用户注释一个类或与一个方法
public class HelloWorld{
/**
* 程序入口
* @param args
*/
public static void main(String[] args){
System.out.println("Hello World");
}
}
自动添加默认注释
-
点击window选项,选中preferences首选项 打开
-
找到java的Code Style代码的样子打开点击Code Templates代码的模板
-
选择code代码打开点击New Java files再点击右上角的Edit编辑
-
以文档型注释添加所需的默认注释后点击右下角的Apply and Close应用和关闭
文档型注释如:
/**
*@author (创作者姓名)
*@version 1.0.0 ${date} ${time}
*/
可以插入一个变量日期、时间等
Java-jUnit测试
-
找到项目左侧day04下的src/test/java右键new新建Package包name中写入com.lihaozhe.day04点击Finish完成
-
然后选中com.lihaozhe.day04包名右键新建class类name名字写入DemoTest(注意:类名后面的Test一定要写)点击Finish完成
在DemoTest中输入(注意:编写时不需要main方法)
public class DemoTest {
public void test01() {
System.out.println("我爱你中国");
}
此时的代码不会输出需要修改poml.xml文件,添加以下代码并保存
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
- 以上代码也可以去该网址拷贝点击最新版本: mvnrepository.
- 然后在DemoTest中输入@Test后Alt+/导包,从这个**import org.junit.jupiter.api.Test;**地址导入
package com.lihaozhe.day04;
import org.junit.jupiter.api.Test;
public class DemoTest {
@Test
public void test01() {
System.out.println("我爱你中国");
}
}
- 然后双击选中test01,右键选择run as下的junit Test
控制台会输出
我爱你中国
Java变量
- 变量就是在内存中开辟的一个地址空间
- 可以形象的把变量比喻为一个容器
public class DemoTest {
@Test
public void test03() {
// 数据类型 空格 变量名 等于号 变量值 分号
int a = 10;
System.out.println(a);
}
}
变量 顾名思义 就是一个可以变化的量
public class DemoTest {
@Test
public void test05() {
int a = 10;
System.out.println(a);
a = 20;
System.out.println(a);
}
}
Java变量的声明方式
- 在方法中可以只声明变量不给这个变量赋值
- int c,b = 30,40; 这个写法是错误的
public class DemoTest {
@Test
public void test06() {
int a = 10;
int b = 20;
int c = 30, d = 40;
System.out.println(c);
System.out.println(d);
int e;
}
}
- 但是没有赋值的变量无法被读取 当读取这个变量的值的时候会报错
public class DemoTest {
@Test
public void test07() {
int e;
// System.out.println(e);
}
}
Java常量
常量 顾名思义 一个不可以变化的量
public class DemoTest {
@Test
public void test05() {
final int b = 30;
// b = 40;
System.out.println(b);
}
}
Java数据类型
数值型 字符型 布尔型
数值型
整数型 浮点型
整数型
- byte —>1B
- short —>2B
- int —>4B
- long —>8B
浮点型
- double —>8B
- float —>4B
字符型
- char —>2B
- 它占2个字节是因为在Java中字符采用unicode编码(UTF-8)
布尔型
- boolean —>1B
public class DemoTest {
@Test
public void test03() {
byte a = 10;
short b = 10;
int c = 10;
long d = 10L;
double e = 10.0d;
float f = 10.0f;
char g = 'g';
boolean h = true;
boolean i = false;
}
}
数据类型转换
数据类型在内存里存储的大小:小转大自送转 、大转小强制转
public class DemoTest {
@Test
public void test04() {
int a = 10;
long b = a;
System.out.println(a);
System.out.println(b);
// 强制类型转换
int c = (int) b;
System.out.println(c);
}
}
Java字符串
Java字符串声明赋值与读取
java10+ 可以在局部变量中使用var来为变量声明 可以根据数据值推断是该值的数据类型
public class StringTest {
@Test
public void test01() {
String slogan = "桃李不言下自成蹊";
var msg = "我爱你中国";
System.out.println(slogan);
System.out.println(msg);
}
}
print与println的区别
public class StringTest {
@Test
public void test02() {
String a = "桃李不言";
String b = "下自成蹊";
System.out.println(a);
System.out.println(b);
}
}
控制台会输出
桃李不言
下自成蹊
public class StringTest {
@Test
public void test03() {
String a = "桃李不言";
String b = "下自成蹊";
System.out.print(a);
System.out.print(b);
}
}
桃李不言下自成蹊
ln是换行
Java字符串拼接
- 加号在字符串与变量之间代表字符串的拼接
- concat方法代表字符串的拼接
public class StringTest {
@Test
public void test04() {
String a = "桃李不言";
String b = "下自成蹊";
System.out.println(a + b);
System.out.println(a.concat(b));
}
}
Java转义字符
常用的字表符:换行"\n"、转义字符"""、 回车"\r"、水平制表符 tab"\t"、空字符"\0"
public class StringTest {
@Test
public void test05() {
System.out.print("\n");
System.out.print("\"");
System.out.print("\r");
System.out.print("\t");
System.out.print("\0");
}
}
Java预定义格式
预定义格式:三对双引号指的是原样输出
public class StringTest {
@Test
public void test06() {
String a = "桃李不言";
String b = "下自成蹊";
// 预定义格式
System.out.print("""
桃李不言
下自成蹊
""");
}
}
Java运算符
数学运算符、比较运算符、逻辑运算符、位运算符
数学运算符
- +加:加号两端变量为数值型则代表数学运算符(注意:两端只要有一个变量为字符串则代表字符串拼接)
public class OperatorTest {
@Test
public void test01() {
int a = 10, b = 20;
int c = a + b;
System.out.println(c);
}
}
- -减:减号两端变量为数值型则代表数学运算符
public class OperatorTest {
@Test
public void test01() {
int a = 10, b = 20;
int d = a - b;
System.out.println(d);
}
}
- *乘:乘号两端变量为数值型则代表数学运算符
public class OperatorTest {
@Test
public void test01() {
int a = 10, b = 20;
int e = a * b;
System.out.println(e);
}
}
- /除:在java中除法运算为地板除
public class OperatorTest {
@Test
public void test01() {
int a = 10, b = 20;
int f = a / b;
System.out.println(f);
int g = b / a;
System.out.println(g);
}
}
- %取模:取模运算,只取余数
public class OperatorTest {
@Test
public void test01() {
int aa = 20;
int bb = 3;
int cc = aa % bb;
System.out.println(cc);
}
}
- Java中浮点型计算能但是不精确
public class OperatorTest {
@Test
public void test01() {
nt a = 10, b = 20;
double h = (a + 0.0) / b;
double i = a / (b + 0.0);
double j = (a + 0.0) / (b + 0.0);
System.out.println(h);
System.out.println(i);
System.out.println(j);
float h = (float) ((a + 0.0) / b);
float i = (float) (a / (b + 0.0));
float j = (float) ((a + 0.0) / (b + 0.0));
System.out.println(h);
System.out.println(i);
System.out.println(j);
}
}
- 自增自减
public class OperatorTest {
@Test
public void test04() {
int num = 10;
num = num + 1;
System.out.println(num);
num += 1;
System.out.println(num);
num++;
System.out.println(num);
num = num - 1;
num -= 1;
num--;
System.out.println(num);
}
}
- num++:先赋值后自增
- ++num:先自增后赋值
public class OperatorTest {
@Test
public void test05() {
int num = 10;
System.out.println(num++);
System.out.println(++num);
System.out.println(num);
int a = num++;
System.out.println(a);
System.out.println(num);
}
}
比较运算符
- // 比较运算符返回值为boolean 值
- // = = 等于 比较对象是否相等 10 = = 10返回True 10 == 20返回False
- // != 不等于 比较对象是否不相等 10 != 10返回False 10 != 20返回True
- // > 大于 返回x大于y 10 > 20返回False 20 > 10返回True
- // < 小于 返回x小于y 10 < 20返回True 20 < 10返回False
- // >= 大于等于 x是否大于等于y
- // <= 小于等于 x是否小于等于y
public class OperatorTest {
@Test
public void test07() {
System.out.println("10 == 10 >>>" + (10 == 10));
System.out.println("10 == 20 >>>" + (10 == 20));
System.out.println("10 != 10 >>>" + (10 != 10));
System.out.println("10 != 20 >>>" + (10 != 20));
System.out.println("10 > 20 >>>" + (10 > 20));
System.out.println("10 < 20 >>>" + (10 < 20));
System.out.println("10 >= 9 >>>" + (10 >= 9));
System.out.println("10 >= 10 >>>" + (10 >= 10));
System.out.println("10 >= 11 >>>" + (10 >= 11));
System.out.println("10 <= 9 >>>" + (10 <= 9));
System.out.println("10 <= 10 >>>" + (10 <= 10));
System.out.println("10 <= 11 >>>" + (10 <= 11));
}
}
JAVA逻辑运算符
逻辑运算的返回值为布尔型
逻辑与 &
- 当两个条件同时满足的时候使用&符号
- &符号两端表达式返回结果同时为true的时候则整体返回值为true
- &符号两端表达式返回有一个为false则整体返回值为false 当第一个表达式返回结果为false的时候第二个表达式仍然要做计算
public class OperatorTest {
@Test
public void test09() {
int a = 10;
int b = 20;
int c = 30;
System.out.println(b > a & c > a);
System.out.println(a > b & c > a);
}
}
逻辑或 |
- 当两个条件同时满足其中一个条件的时候使用 | 符号
- | 符号两端表达式返回有一个为true则整体返回值为true 当第一个表达式返回结果为true的时候第二个表达式仍然要做计算
- | 符号两端表达式返回结果同时为false的时候则整体返回值为false
public class OperatorTest {
@Test
public void test09() {
int a = 10;
int b = 20;
int c = 30;
System.out.println(b > a | a > c);
System.out.println(a > b | a > c);
}
}
短路与 &&
- 当两个条件同时满足的时候使用&&符号
- &&符号两端表达式返回结果同时为true的时候则整体返回值为true
- &&符号两端表达式返回有一个为false则整体返回值为false 当第一个表达式返回结果为false的时候第二个表达式不再计算 直接整体返回false
public class OperatorTest {
@Test
public void test10() {
int a = 10;
int b = 20;
int c = 30;
System.out.println(b > a & c > a);
System.out.println(a > b & c > a);
}
}
短路或 ||
- 当两个条件同时满足其中一个条件的时候使用||符号
- ||符号两端表达式返回有一个为true则整体返回值为true 当第一个表达式返回结果为true的时候第二个表达式不再计算 直接整体返回true
- ||符号两端表达式返回结果同时为false的时候则整体返回值为false
public class OperatorTest {
@Test
public void test10() {
int a = 10;
int b = 20;
int c = 30;
System.out.println(b > a | a > c);
System.out.println(a > b | a > c);
}
}
逻辑非!
返回值为当前值的相反值 true取反就是false false取反就是true
public class OperatorTest {
@Test
public void test11() {
System.out.println(!true);
System.out.println(!false);
System.out.println(!!true);
System.out.println(!!false);
}
}
JAVA位运算符
按位与运算
public class OperatorTest {
@Test
public void test11() {
System.out.println(5 & 3);
}
}
按位或运算
按位异或运算 只有相同都是false(0) 只有不同才是true(1)
public class OperatorTest {
@Test
public void test11() {
System.out.println(5 ^ 3);
}
}
元数据按位亦或一个参考数据 得到一个新的数据 这个新的数据按位疑惑相同的参考数据得到元数据
public class OperatorTest {
@Test
public void test11() {
System.out.println(6 ^ 3);
}
}
~按位取反 注意:二进制中,最高位时符号位 1表示负数,0表示正数
public class OperatorTest {
@Test
public void test11() {
System.out.println(~3);
}
}
左移与右移
- 右移:相当于除以2的n次幂
- (>>>)表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0
public class OperatorTest {
@Test
public void test12() {
System.out.println(4 >>> 1);
System.out.println(4 >>> 2);
System.out.println(4 >>> 3);
System.out.println(-4 >>> 1);
}
}
- (>>) 表示右移,如果该数为正数,则高位补0,若为负数,则高位补1
public class OperatorTest {
@Test
public void test12() {
System.out.println(4 >> 1);
System.out.println(4 >> 2);
System.out.println(4 >> 3);
System.out.println(-4 >> 1);
}
}
- 左移:相当于乘以2的n次幂
- 反码 补码
public class OperatorTest {
@Test
public void test12() {
System.out.println(4 << 1);
System.out.println(4 << 2);
System.out.println(-4 << 1);
}
}