一、知识点
JDK:java Development Kit Java 开发工具包
JRE:Java Runtime Environment Java 运行时环境(只要运行java就需要安装jre)
编写Java程序的流程:
1.创建记事本后缀改为.java
2.如果要输出中文编码方式改为ANSI
3.打开CMD DOS命令行窗口 切换到Java源文件所在的目录
4.通过javac文件名.java 对java进行编译(之后项目在部署上或者上线的时候 上传的都是字节码文件)
5.通过java文件名 进行解释运行
java中的关键字:
48个关键字:
abstract,assert,boolean,break,byte,case,catch,char,class,continue,default,do,double,else,enum,extends,final,finally,float,for,if,implements,import,int,interface,instanceof,long,native,new,package,private,protected,public,return,short,static,stricify,super,switch,synchronized,this,throw,throws,transient,try,void,while,volatile
2个保留字:goto,const
3个特殊直接量:true false null
数据类型:基本数据类型、引用数据类型
基本数据类型:8种(整型:byte(1)、short(2)、int(4)、long(4个字节,过大自动转为8个字节) 浮点类型:float、double 布尔类型:boolean 字符类型:char)
引用数据类型:数组、类、枚举、接口......
类型转换:从小到大(自动转换) 从大到小(强制类型转换,可能会丢失精度)
常用运算符:加减乘除取余
字符串连接符:+
关系运算符:大于(>)小于(<)等于(=)不等于(!=)大于等于(>=)小于等于(<=)结果都为布尔型
赋值运算符:=
逻辑运算符:与(&&)或(||)非(!)
自增减运算符:++a,--a,a++,a--
三目运算符:条件表达式?表达式1:表达式2(若条件表达式为真则执行表达式1,否则则行表达式2)
分支语句:if分支结构、if-else分支结构、if-else-if-else分支结构、switch case语句
循环结构:for循环、while循环、do-while循环(至少会执行一次)
二、练习代码以及截图
1.输入输出
import java.util.Scanner;
public class IdentifyDemo01 {
public static void main(String[] args) {
//提示用户输入姓名和年龄并打印
//键盘扫描器 表示创建一个Scanner类型的引用(scanner) 指向Scanner类型的对象,其中System.in可以看成是一个键盘
Scanner scanner = new Scanner(System.in);
//提示输入姓名
System.out.println("请输入你的姓名:");
String name = scanner.next();
//提示输入年龄
System.out.println("请输入你的年龄:");
int age = scanner.nextInt();
System.out.println("我叫" + name + ",今年" + age + "岁了!");
//提示用户输入学号班级和座右铭并打印
System.out.println("请输入你的学号:");
long number = scanner.nextLong();
System.out.println("请输入你的班级:");
long class_number = scanner.nextLong();
System.out.println("请输入你的座右铭:");
String motto = scanner.next();
System.out.println("我的学号是:" + number + ",我在" + class_number + "班,我的座右铭是:" + motto + "!");
}
}
2.练习 import java.util.Scanner; //要求用户输入下落时间t(整数) //并按照公式0.5*9.8*t*t来计算下落的位移并打印出来 public class practiceDemo02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double t; System.out.println("请输入下落时间t:"); t = scanner.nextDouble(); double x = 0.5 * 9.8 * t * t; System.out.println("下落的位移为:" + x); } }
import java.util.Scanner;
public class practiceDemo03 {
public static void main(String[] args) {
//提示用户输入一个三位数的正数,然后进行逆序处理再打印
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个三位数的正数:");
int num1 = scanner.nextInt();
int a = num1 / 100;
int b = num1 / 10 - 10 * a;
int c = num1 - (a * 100 + b * 10);
int num2 = c * 100 + b * 10 + a;
System.out.println("逆序处理的结果是:" + num2);
}
}
3. 运算
public class ArithmaticDemo02 { public static void main(String[] args) { int a = 3; int b = 5; System.out.println(a + b); System.out.println(b - a); System.out.println(a * b); System.out.println(b / a); System.out.println(b % a); } }
5. if语句
import java.util.Scanner;
public class IfDemo01 {
public static void main(String[] args) {
//提示用户输入年龄
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的年龄:");
int age = sc.nextInt();
//对用户年龄进行判断
if(age >= 18) {
System.out.println("请开开心心浏览网页,生活真美好!");
} else {
System.out.println("生活真美好");
}
}
}
import java.util.Scanner;
//使用if分支结构
public class IfDemo02 {
public static void main(String[] args) {
//提示用户输入两个数
Scanner sc = new Scanner(System.in);
int num1,num2;
System.out.println("请输入第一个数:");
num1 = sc.nextInt();
System.out.println("请输入第二个数:");
num2 = sc.nextInt();
//对用户输入的两个数进行判断,求最大值
/**
* if(num1 > num2) {
* System.out.println("最大值是:" + num1);
* }
* if(num1 < num2) {
* System.out.println("最大值是:" + num2);
* }
*/
int max = num1;
if (num1 <= num2) {
max = num2;
}
System.out.println("最大值:" + max);
}
}
6. if-else语句
import java.util.Scanner;
/**
* @author zhaochunli
*/
public class IfElseDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的成绩:");
double score = scanner.nextDouble();
if (score >= 60) {
System.out.println("恭喜你,及格了!");
} else {
System.out.println("恭喜你,挂科了!");
}
}
}
import java.util.Scanner;
public class IfElsePractice {
public static void main(String[] args) {
//提示用户输入一个整数
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = sc.nextInt();
//判断是负数还是非负数
if (num < 0) {
System.out.println("您输入的数是一个负数。");
} else {
System.out.println("您输入的数是一个非负数。");
}
}
}
7.if-else-else语句
package Switch;
import java.util.Scanner;
/**
* @author zcl
*/
public class IfElseELseDemo01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的身份信息:(军人,学生,还是普通人)");
String identify = sc.next();
//对用户输入的身份信息进行判断
if ("军人".equals(identify)) {
System.out.println("由于您是军人,享受免票");
} else if ("学生".equals(identify)) {
System.out.println("由于您是学生,享受半价票");
} else {
System.out.println("由于您是普通人,请购买全价票");
}
}
}
package Switch;
import java.util.Scanner;
public class IfElseElsePractice01 {
public static void main(String[] args) {
//提示用户输入高考成绩
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的高考成绩:");
int score = sc.nextInt();
//判断学校学历
if (score >= 650) {
System.out.println("您的高考成绩达到了清北的录取线");
} else if (score >= 550) {
System.out.println("您的高考成绩达到了985的录取线");
} else if (score >= 450) {
System.out.println("您的高考成绩达到了211的录取线");
} else if (score >= 350) {
System.out.println("您的高考成绩达到了本科的录取线");
} else {
System.out.println("亲,这边建议你重新考一下!");
}
}
}
8. 三目运算
import java.awt.*;
import java.util.Scanner;
public class ThreeEyesDemo {
public static void main(String[] args) {
//提示用户输入一个数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个数:");
int number = scanner.nextInt();
//使用三目运算符对用户输入的数进行判断
String s = number > 0 ? "你输入的是一个正数" : number == 0 ? "你输入的是0" : "你输入的是一个负数";
System.out.println(s);
}
}
9.for循环
public class ForDemo01 {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
//continue;
break;
}
System.out.print(i + " ");
}
//打印1到100之间的偶数
for (int a = 1; a < 100; a++) {
if (a % 2 == 0) {
System.out.print(a + " ");
}
}
}
}
10.while循环
import java.util.Scanner;
public class WhileDemo01 {
public static void main(String[] args) {
//跑圈 跑完看用户是否还可以跑
Scanner sc = new Scanner(System.in);
int i = 1;
while (true) {
System.out.println("你已经跑了第" + i + "圈,是否继续?");
String str = sc.next();
if ("是".equals(str)) {
System.out.println("加油,继续努力");
i++;
} else if ("否".equals(str)) {
System.out.println("不行了,跑不动了");
break;
}
}
}
}
11.do-while循环
package Switch;
public class DoWhileDemo01 {
public static void main(String[] args) {
int i = 1;
do {
System.out.print(i + " ");
i++;
} while(i <= 5);
}
}
12.双for循环
public class DoubleForDemo01 {
public static void main(String[] args) {
for(int i = 1; i <= 5; i++) {
for(int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println( );
}
}
}
public class DoubleForPractice {
public static void main(String[] args) {
//九九乘法表
for (int i = 1; i < 10; i++) {
for (int j = i; j < 10; j++) {
System.out.print(i + "*" + j + "=" + i * j + " ");
}
System.out.println();
}
}
}
13.switch-case
package Switch;
import java.util.Scanner;
/**
* @author zcl
*/
public class SwitchCaseDemo01 {
public static void main(String[] args) {
//提示用户输出业绩排名int
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的业绩名次:");
int num = sc.nextInt();
switch (num) {
case 1:
System.out.println("欧洲游");
break;
case 2:
System.out.println("亚洲游");
break;
case 3:
System.out.println("国内游");
break;
case 4:
System.out.println("省内游");
break;
default:
System.out.println("别游啦,加班吧");
}
}
}
package Switch;
import java.util.Scanner;
public class SwitchCasePractice {
public static void main(String[] args) {
//提示用户输入月份
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份:");
int month = sc.nextInt();
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("当月有31天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("当月有30天");
break;
default:
System.out.println("当月有28天");
}
}
}