JDK,JRE,JVM各自的作用和关系
JDK: java开发工具包 1.8版本
JRE: java运行环境
JVM: java虚拟机
HelloWorld案例
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
能够使用注释
单行注释: //
多行注释: /*
*/
关键字的特点:
含有特殊含义的单词
public class void
特点:
1.字母全都小写
2.在编辑器有特殊颜色标记
常量的分类
字符串常量 ""
整数常量 123
小数常量 3.13
字符常量 ' '
布尔常量 true false
空常量 null
8种基本数据类型
byte
short
*int
long
float
*double
char
boolean
变量的定义及输出
定义:
int a = 10;
int a;
a = 20;
int a = 10,b = 20;
类型转换
byte --> short --> int --> long --> float -->double
char -->
自动转换
从小类型转成大类型
强制转换
从大类型转成小类型
键盘输入:
1.导包
import java.util.Scanner;
2.创建对象
Scanner sc = new Scanner(System.in);
3.键盘输入
String s = sc.next();
int i = sc.nextInt();
创建项目(java152)
模块(day02)
src里面创建包(包名建议使用公司网站的反写 com.itheima)
类
+ - * / %
/除法:整数计算的结果还是整数 10/3=3
%取余:取余数 10%3=1 7%10=7
import java.util.Scanner;
public class Demo01算术运算符 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
int a = sc.nextInt();
System.out.println("请输入一个整数");
int b = sc.nextInt();
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / b);
System.out.println(a % b);
System.out.println("请输入一个小数");
double c = sc.nextDouble();
System.out.println("请输入一个小数");
double d = sc.nextDouble();
System.out.println(d / c);
System.out.println(d % c);
}
}
字符的+运算=字符拼接
字符串的+其实是拼接,任何类型和字符串+,最后输出字符串
public class Demo04字符串的运算 {
public static void main(String[] args) {
//定义字符串
//字符串的+其实是拼接
String s = "java";
int i = 6;
//输出
System.out.println(s + i);
}
}
public class Demo05赋值运算符 {
public static void main(String[] args) {
// = += -= *= /= %=
//把10赋值给int类型的a
int a = 10;
//+= 相当于 变量加上一个值
a += 10; //相当于 a = a + 10;
System.out.println(a); //20
//强转
byte b = 10;
int c = 10;
b = (byte) (b + c);
b += c; //隐含了强转功能
System.out.println(b);
}
}
++ --
++和--功能类似,++就是给变量加一,
++还有两种写法
++前置:
先加一,后运算
后置++:
先运算,后加一
代码:
package com.itheima01;
public class Demo06自增自减 {
public static void main(String[] args) {
//++前置: 先加一 后运算
//后置++: 先运算 后加一
int a = 10;
int b = 10;
//只做++ 没有运算 所以前置和后置没有区别
++b;
a++;
System.out.println(a); //11
System.out.println(b); //11
//++和 = 混合使用
int c = ++b; //先把b从11加到12 然后把b赋值给c
int d = a++; //先把a赋值给d 然后a从11加到12
System.out.println(a); //12
System.out.println(b); //12
System.out.println(c); //12
System.out.println(d); //11
//------------------------------------------
int e = 10;
// 10 + 11
int f = e++ + e++;
System.out.println(e); //12 经过2次++ 一定是12
System.out.println(f); //21
}
}
== != > < >= <=
特点:运算的结果是一个boolean
注意:
public class Demo07关系运算符 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(a == 10); //true
System.out.println(b != a);//true
System.out.println(a > b);//flase
System.out.println(b >= a);//true
}
}
&& :与
左右两边同时为true,结果是true,否则结果是false
短路效果:
当左边是false的情况下,右边就不在执行了
|| :或
左右两边为false,结果为false,否则为true
短路下过:
当左边是true,右边不在执行
! :非
原来是teue,结果是false
原来是false,结果是true
代码:
public class Demo08逻辑运算符 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(a++ > 10 && ++b >10);//false 11
System.out.println(++a < 10 || b++ >10);//false || true 21
System.out.println(!(a >=10 ));//false
System.out.println(a);
System.out.println(b);
}
}
格式:
if(判断语句){
代码;
}
执行流程:
如果判断语句的结果是true,就会执行括号中的代码
如果判断语句的结果是false,不会执行括号中的代码
代码:
public class Demo01if语句 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个10以内的整数:");
int a = sc.nextInt();
if (a == 3) {
System.out.println(a + "猜对了!");
}
}
}
if(条件判断){
代码;
}else{
代码;
}
如果判断语句的结果是true,那就执行if里的代码
如果判断语句的结果是false,那就执行else里的代码
代码:
import java.util.Scanner;
public class Demo02if的格式2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字:");
int a = sc.nextInt();
System.out.println("请输入第二个数字:");
int b = sc.nextInt();
if (a > b){
System.out.println(a);
}else {
System.out.println(b);
}
}
}
if(条件判断1){
代码1;
}else if(判断语句2){
代码2;
}else{
代码3;
}
执行流程:
如果判断语句1的结果true,就执行代码1,不会继续往下判断
如果判断语句为false,就判断第二个判断语句
如果所有if判断都是false,则执行else里面的代码
代码:
import java.util.Scanner;
public class Demo03if的格式3 {
public static void main(String[] args) {
System.out.println("请输入一个分数:");
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
if (score >= 90 && score <=100){
System.out.println("优秀");
}else if (score >= 70 && score <= 89){
System.out.println("良好");
}else if (score >= 60 && score <= 69){
System.out.println("及格");
}else if(score>=0 && score<=59){
System.out.println("不及格");
}else {
System.out.println("输入的代码有误");
}
}
}
格式:
switch(变量){
case 值1:
代码1;
break;
case 值2:
代码2;
break;
case 值3:
代码3;
break;
case 值n:
代码n;
break;
default:
代码;
break;
}
执行流程:
如果switch中的变量等于值1 ,就执行1
如果switch中的变量等于值2 ,就执行2
如果所有的case都不匹配,就执行default
不管执行谁,都会在遇到break之后结束,如果没有break,那么case会出现穿透现象
代码:
import java.util.Scanner;
public class Demo05switch语句 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入1-7的整数:");
int week = sc.nextInt();
switch (week){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("输入的数字有误");
}
}
}