本文知识点力求简单常用,这样可以持续获得成就感。等到足够开始app UI任务时,缺乏成就感就不再是主要问题,可以继续系统学习基础
在线web编译工具,打开后在左上角选择java
https://tool.lu/coderunner/
Java基础
第1课 变量声明和赋值
//变量的声明和赋值
//整形 int类型
int i2;//可以先声明后赋值
int i1 = 10;//可以直接赋值
i2 = 160;
System.out.println("变量i1="+i1);
System.out.println("变量i2="+i2);
//双精度浮点数 double类型
double d1 = 0.2;
System.out.println("变量d1="+d1);
//字符型 String类型
String s1 = "你好";
System.out.println("变量s1="+s1);
/**
* 任务
* 1 定义一个int类型的变量,赋值为-100,并通过System.out.println打印到控制台
* 2 定义一个double类型的变量,赋值为 10.3,并通过System。out.pringln打印到控制台
* 3 定义一个String类型的变量,赋值为 "今天天气真好",并通过System。out.pringln打印到控制台
* */
第2课 运算符
int num1 = 11;
int num2 = 3;
// + 加法
int addResult = num1 + num2;
System.out.println( num1 + " + " + num2 + " = "+ addResult);
// - 减法
int minusResult = num1 - num2;
System.out.println( num1 + " - " + num2 + " = "+ minusResult);
// * 乘法
int multiplyResult = num1 * num2;
System.out.println( num1 + " * " + num2 + " = "+ multiplyResult);
// / 除法 对整数进行除法并用整数接收,会和日常生活中不同,两个数都是整数的情况下,获得的结果是将小数部分丢弃,不会进行四舍五入或者保留小数 11/3 为3 余 2 ,仅会显示3
int divideResult = num1 / num2;
System.out.println( num1 + " / " + num2 + " = "+ divideResult);
//为了获得准确的小数结果,需要将除数或者被除数进行处理
double divideResult2 = (double)num1 / num2;
System.out.println("精确除法 " + num1 + " / " + num2 + " = "+ divideResult2);
// % 去余运算 以11/3 为例 结果是3 余2
int yushuResult = num1 % num2;
System.out.println( num1 + " % " + num2 + " = "+ yushuResult);
// = 赋值运算也是一个运算符号,可以将变量中储存的值进行改变
// ++ 会对当前变量执行加1
int jiajiaResult = 5;
System.out.println("++运算前结果"+jiajiaResult);
jiajiaResult++;
System.out.println("++运算后结果"+jiajiaResult);
// -- 会对当前变量执行减1
int jianjianResult = 4;
System.out.println("--运算前结果"+jianjianResult);
jianjianResult--;
System.out.println("--运算后结果"+jianjianResult);
/**
* 输出结果是
*
* 11 + 3 = 14
* 11 - 3 = 8
* 11 * 3 = 33
* 11 / 3 = 3
* 精确除法 11 / 3 = 3.6666666666666665
* 11 % 3 = 2
* ++运算前结果5
* ++运算后结果6
* --运算前结果4
* --运算后结果3
*
* */
/**
* 任务
* 进行加法运算,计算10+30的结果,并打印
* 进行减法运算,计算50-80的结果,并打印
* 进行乘法运算,计算8*100的结果,并打印
* 进行除法运算,计算7/4的结果,得到准确的结果,并打印
* 进行去余运算,计算10%5的结果,并打印
* 对一个整数0,进行++运算,并打印
* 对一个整数20,进行--运算,并打印
* */
第3课 循环语句
//例子
//标准循环语句 for(初始条件;继续执行循环的条件;步长的设定)
for(int i = 0; i < 10; i++) {
System.out.println("打印i = "+i);
}
//循环可以将某个任务执行多次,比如打印3次Hello World
for(int i = 0; i < 3; i++) {
System.out.println("Hello World");
}
//也可以在每次将条件相关的数值带入,获得需要的结果,比如下面的这个计算1+2+...10的结果
//计算1+2+3.。。+10的结果
int result = 0;
for(int i = 1; i < 10; i++) {
System.out.println("执行加法前 i = "+i + " 当前result =" + result);
result = result + i;
System.out.println("执行加法后i = "+i + " 当前result =" + result);
System.out.println("************************************");//用来分割打印的内容,容易看清楚
}
System.out.println("最终的result =" + result);
打印结果
打印i = 0
打印i = 1
打印i = 2
打印i = 3
打印i = 4
打印i = 5
打印i = 6
打印i = 7
打印i = 8
打印i = 9
Hello World
Hello World
Hello World
执行加法前 i = 1 当前result =0
执行加法后i = 1 当前result =1
************************************
执行加法前 i = 2 当前result =1
执行加法后i = 2 当前result =3
************************************
执行加法前 i = 3 当前result =3
执行加法后i = 3 当前result =6
************************************
执行加法前 i = 4 当前result =6
执行加法后i = 4 当前result =10
************************************
执行加法前 i = 5 当前result =10
执行加法后i = 5 当前result =15
************************************
执行加法前 i = 6 当前result =15
执行加法后i = 6 当前result =21
************************************
执行加法前 i = 7 当前result =21
执行加法后i = 7 当前result =28
************************************
执行加法前 i = 8 当前result =28
执行加法后i = 8 当前result =36
************************************
执行加法前 i = 9 当前result =36
执行加法后i = 9 当前result =45
************************************
最终的result =45
/**
* 任务1 用for循环 计算1+2+3+4+...+100的结果,并打印最终的结果
* 任务2 用for循环计算1-100之间所有偶数相加的结果,就是 2+4+6+。。。+100的结果,并打印最终的结果
*
* */
第4课条件语句
if(布尔表达式){
语句序列
}else{
语句序列
}
任务4.1
//例子定义了一个整形的变量int类型的a
int a = 100;
if(a > 50) {
System.out.println("a > 50 执行了if");
}else {
System.out.println("a <= 50 执行了else");
}
//任务
//定义一个双精度浮点数double类型的变量score,赋值90,如果score大于等于60,打印及格了,分数低于60打印不及格
任务4.2
// 根据星期中第几天来返回是星期几的信息
int day = 1;
if(day == 1) {
System.out.println("星期一");
}else if(day == 2) {
System.out.println("星期二");
}else if(day == 3) {
System.out.println("星期三");
}else if(day == 4) {
System.out.println("星期四");
}else if(day == 5) {
System.out.println("星期五");
}else if(day == 6) {
System.out.println("星期六");
}else if(day == 7) {
System.out.println("星期天");
}else {
System.out.println("一个星期只有7天");
}
任务根据一年中的月份,返回几月的信息,返回1月,2月,3月,... 12月,其他情况打印,一年只有12个月
任务4.3
例子根据评价的分数,来确定用户是否满意
double number = 1.0;
if (number >= 8) {
System.out.println("非常满意");
}else if( number >= 6) {
System.out.println("满意");
}else {
System.out.println("不满意");
}
//根据分数进行分类 doule类型的变量score 90及以上 优,80及以上 90以下 良,70及以上 80以下 中,60及以上及格,60以下 不及格
第5课 控制台输入输出
需要在头文件中引入下面的内容
import java.util.Scanner;
任务5.1 控制台输入文本内容
System.out.println("请在下方输入文本");
Scanner scan = new Scanner(System.in);
String read = scan.nextLine();
System.out.println("输入的数据是:" + read);
scan.close();
任务5.2 控制台输入整数
System.out.println("请在下方输入整数");
Scanner scan = new Scanner(System.in);
int readInt = scan.nextInt();
System.out.println("输入的数据是:" + readInt);
scan.close();
任务5.3 控制台输入双精度浮点数
System.out.println("请在下方输入浮点数");
Scanner scan = new Scanner(System.in);
double readDouble = scan.nextDouble();
System.out.println("输入的数据是:" + readDouble);
scan.close();
第6课 猜数字的控制台应用
用的知识点
6.1 获取控制台输入整数
6.2 for循环
6.3 提前结束for循环 break
没有break的一个for循环
for(int i = 0; i < 10;i++) {
System.out.println("i="+i);
if(i==2) {
System.out.println("执行break之前");
}
}
带有break的for循环
for(int i = 0; i < 10;i++) {
System.out.println("i="+i);
if(i==2) {
System.out.println("执行break之前");
break;
}
}
6.4 随机数
需要引入头文件
import java.util.Random;
最小是0,最大是9
for(int i=0;i<100;i++) {
//获取[0,10)的随机数, 可以获得0,1,2...,9
Random random = new Random();
int s = random.nextInt(10);
System.out.println("输出结果="+s);
}
获得10-20的随机数,最小是10,最大是20
for(int i=0;i<100;i++) {
//获取10-20的随机数
Random random = new Random();
int y = random.nextInt(11) + 10;//[0,11) 最小的数是10,最大的数是20
System.out.println("获取10-20的随机数="+y);
}
6.5 完整猜数字的代码
public static void main(String[] args) {
System.out.println("给你一个1至100之间的整数,请猜测这个数");
Random random = new Random();
int realNumber = random.nextInt(100) + 1;
//产生一个1-100的随机数
int yourGuess=0;
System.out.println("输入您的猜测:");
Scanner scan = new Scanner(System.in);
//循环语句
for(int i=0;i<10;i++) {
//获取输入的信息
yourGuess = scan.nextInt();
if(realNumber < yourGuess){
System.out.println("猜大了,再输入你的猜测:");
}else if(realNumber > yourGuess) {
System.out.println("猜小了,再输入你的猜测:");
}else {
System.out.println("真棒,猜对了!");
break;
}
//最后都没有猜对的情况
if(i == 9 && yourGuess != realNumber) {
System.out.println("次数用完了,下次加油!");
}
}
scan.close();
}