idea结构
idea的项目结构
项目(Project)
模块(Module)
包(Package)
类(Class)
1. .idea目录和,iml文件是IDEA的配置文件,可以隐藏
2. src目录是代码源文件存放的目录
3. out是Java程序的输出目录,存放字节码文件
4. external Libraries是JDK的扩展类库
这时,会有一个疑问:就是为什么一定要创包:
包的作用就是去按照功能区分一下类,让类看起来更整齐。而且是规范的用法!
命名的规则:
假设你是百度公司的员工,百度的ip为baidu.com,所以创包的时候就应该为com.baidu.
假设尼是百度公司旗下贴吧的员工,贴吧的ip为:tieba.baidu.com。那么命名的就应该为com.baidu.tieba.
快捷键:
psvm 生成主方法
sout 生成输出语句
ctrl+D 复制出当前行
ctrl+Y/X 删除当前行
回车+shift 光标切到下一行
ctrl + alt +i 自动补齐代码
选中多行代码,按住tab就会同时向右移动
选中多行代码,按住shift+tab就会同时向左移动
选中多行代码,按住Ctrl+Alt+L就会格式化代码
0.键盘输入
1.导包
import java.util.Scanner;
2.创建对象
Scanner sc = new Scanner(System.in);
3.键盘输入
整数: int a = sc.nextInt();
字符串: String s = sc.next();
//导包
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(a);
//键盘输入字符串
System.out.println("请输入一个字符串:");
String s = sc.next();
System.out.println(s);
}
}
1.算术运算符
+ 加 - 减 * 乘 / 除 % 取余
注意事项:
1.两个整数计算的结果还是整数
2.小数做运算结果不准确
3.byte short char 参与运算时会被提升为int
public class Demo03 {
public static void main(String[] args) {
//算术运算符
int a = 10;
int b = 3;
System.out.println(a+b); //13
System.out.println(a-b); //7
System.out.println(a*b); //30
System.out.println(a/b); //3 两个整数计算的结果只能是整数
System.out.println(a%b); //1
double d = 10.0;
System.out.println(d/b); //3.3333333333333335
float f1 = 3.12F;
float f2 = 4.18F;
System.out.println(f1+f2); //小数的计算不精确
}
}
2.字符的+操作
'a' ---> 97
'A' ---> 65
'0' ---> 48
字符在参与运算的时候其实是在用对应的ACALL数字在运算
3.字符串的+操作
任何类型和字符串做+法其实都是在拼接
public class Demo05 {
public static void main(String[] args) {
System.out.println("123" + 4 + 5 + 6); //"123456"
System.out.println(4 + 5 + "123" + 6); //91236
int a = 10;
System.out.println(a + a + "123" + a); //"2012310"
int i = 5;
int j = 6;
//输出 5+6=11
// 5+6
System.out.println(i + "+" + j + "=" + (i+j));
}
}
4.赋值运算符
= 等于 +=加等 -=减等 *=乘等 /=除等 %=取余
扩展的赋值运算符都隐含强制类型转换
public class Demo07 {
public static void main(String[] args) {
//把10赋值给int类型的变量a
int a = 10;
a += 100; //a = a + 100;
System.out.println(a); //110
a += 3.1; //a = (int)(a + 3.1);
System.out.println(a); //113
}
}
5.自增自减运算符
++ --
++前置 :
先加一 , 后使用
后置++:
先使用, 后加一
public class Demo08 {
public static void main(String[] args) {
/*
++前置 :
先加一 , 后使用
后置++:
先使用, 后加一
*/
int a = 10;
int b = a++; //在这行代码中,对于a就有两个事,先赋值,后加一
System.out.println(a); //11
System.out.println(b); //10
int c = 10;
int d = ++c; //在这行代码中,对于c有两个事,先加一,后赋值
System.out.println(c); //11
System.out.println(d); //11
int e = 10;
System.out.println(e++); //在这行代码中,对于e有两个事,先输出,后加一
int f = 10;
System.out.println(++f); //在这行代码中,对于e有两个事,先加一,后输出
int g = 10;
g++; //单独使用前置后置没有区别
++g;
System.out.println(g); //12
}
}
6.关系运算符
==等于 !=不等于 >大于 <小于 >=大于等于 <=小于等于
注意事项:
1.等于号是== ,千万不要把== 写成 =
2.关系运算符的结果都是布尔类型
public class Demo09 {
public static void main(String[] args) {
System.out.println(10==10);//true
System.out.println(10!=10);//false
System.out.println(10>20);//false
System.out.println(10<=20);//true
}
}
7.逻辑运算符
&& 与 || 或 ! 非
&&与:
A && B ,如果A和B都是true,则结果为true, 否则结果为false
短路效果:如果A已经是false了,那么B就不执行
|| 或:
A || B , 如果A和B都是false,则结果为false, 否则结果为true
短路效果:如果A已经是true了,那么B就不执行
! 非:
如果原来是true取反就是false,如果原来是false取反就是true
public class Demo10 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(a>10 && b>10); //false
System.out.println(a>10 || b>10); //true
System.out.println(!(a>10)); //true
System.out.println(a++>10 && b++>10); //false
System.out.println(a); //11
System.out.println(b); //20
int c = 10;
int d = 20;
System.out.println(++c>=10 || d++<=20); // true&&不执行 true
//c=11 d=20
System.out.println(++c>=12 && d++<=20); // true&&true true
}
}
8.三元运算符
格式:
数据类型 变量名 = 关系表达式 ? 结果1 : 结果2;
规则:
关系表达式如果得到true,结果1当做最终结果
关系表达式如果得到false,结果2当做最终结果
常见用法:
获取两个数字中的较大值
public class Demo11 {
public static void main(String[] args) {
//先键盘输入两个整数
//创建对象
Scanner sc = new Scanner(System.in);
//键盘输入
System.out.println("请输入两个整数:");
int a = sc.nextInt();
int b = sc.nextInt();
//打印两个整数中的较大值
//数据类型 变量名 = 关系表达式 ? 结果1 : 结果2;
int max = a>b ? a : b;
System.out.println("较大值是" + max);
}
}
9.switch语句
格式:
switch(变量) {
case 常量1:
语句体1;
break;
case 常量2:
语句体2;
break;
…
default:
语句体n+1;
[break;]
}
注意事项:
类型可以为byte、short、int、char,String, 枚举。
case穿透现象:
当case中的语句执行完毕,而没有break时,
程序会无条件的执行后续的case或default中的语句,
直到遇到break语句或整个switch语句结束为止
10.if的第一种格式
单if判断语句
格式:
if(布尔表达式){
语句体;
}
public class Demo02 {
public static void main(String[] args) {
int a = 10;
if(a>20){
System.out.println("现在都是大棚的瓜,你嫌贵我还嫌贵么...");
}
}
}
11.if的第二种格式
互斥if判断语句
格式:
if(布尔表达式){
语句体1;
}else{
语句体2;
}
public class Demo03 {
public static void main(String[] args) {
int a = 40;
int b = 20;
//判断输出较大值
if(a>b){
System.out.println(a);
}else{
System.out.println(b);
}
}
}
12.if的第三种格式
多分支if判断语句
格式:
if(布尔表达式1){
语句体1;
}else if(布尔表达式2){
语句体2;
}else if(布尔表达式3){
语句体3;
}else{
语句体4;
}
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
/*
90分—100分:打印:优秀 70 – 89分,打印:良好
60 – 69分,打印:及格 0 – 59分,打印:不及格
其它情况,打印:输入的分数不正确!
*/
//键盘输入
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个0-100的整数:");
int num = sc.nextInt();
//判断
if(num>=90&&num<=100){
System.out.println("优秀");
}else if(num>=70&&num<90){
System.out.println("良好");
}else if(num>=60&&num<70){
System.out.println("及格");
}else if(num>=0&&num<60){
System.out.println("不及格");
}else{
System.out.println("你输入的不正确!");
}
}
}
RESPECT&LOVE :一起进步&一起成长