1.java文件的名称必须跟public class的名称保持一致
2.一个java文件中可以包含多个class,但只能有一个public class
3.public static void main(String[] args) 是所有java程序的入口
4.main 方法中参数列表支持多种写法:String[] args、String [] args、String args[]
5.main方法中参数名称无所谓,但一般写成args
标识符命名规范:
硬性规定
1.标识符必须以字母,下划线或者美元符号开头
2.其他部分必须是字母,数字,下划线或者美元符号,但是不能出现特殊符号
3.标识符大小写敏感
4.不能是java的关键字或者是保留字(留给系统使用的表示特殊含义的字符串)
常规建议
驼峰标识
1.类名,接口名称在命名时要首字母大写
2.方法,变量命名是要小写
3.多个单词拼接表示一个标识符时,每个字母都要大写
见名知意
1.通过标识符的名称能知道代表的含义
2.千万不要写拼音
在类内,方法外定义的变量叫成员变量,会存在默认值
在方法内,定义的变量必须进行初始化操作,不会存在默认值
使用final关键字修饰的变量称之为常量,表示不可修改
public class ConstantAndVar{ static int d; //默认为0 public static void main(String[] args){ int a; //未进行初始化,会报错! } }
数据类型
java是一种强类型语言
强类型:变量在定义的时候必须显示的声明类型是什么
弱类型:变量会根据值自己去推断,不需要指定类型是什么
java数据类型
基本数据类型(4类8种)(不同类型表示不同长度)
整数类型:byte(范围:-128-+127)、short(范围:-32768-+32767)、int(正负21亿)、long(∞)
注意:
1.在使用整形类型时,默认都是int类型
2.如果需要使用long类型的话,必须要在数字后面添加L,建议使用大写,小写容易跟“1”混淆
浮点类型:float(单精度)、double(双精度)
注意:1.默认浮点类型是double类型
2.使用float的时候,数字后要添加f
3.浮点类型并不能表示一个精确的值,会损失精度
字符类型:char
布尔类型:boolean(只有true和false两个值,在存储时占1位)
引用数据类型:
类
接口
数组
public class DataTypeDemo{ public static void main(String[] args){ char a = 'A'; //表示一个字符 String a = "A"; //表示一个字符串 } }
分支结构
单分支结构:只做单一的条件判断,如果符合,做某些事 双分支结构:当做条件判断时,只有两种选择
多分支结构:可以进行多个条件的判断,每个匹配项可以选择不同的执行 嵌套分支结构:在分支结构中嵌套分支结构
switch分支结构:一般用作等值判断
注意:
1.每个case模块中要添加break,防止多次匹配
2.如果多个case中处理的逻辑代码块的功能一致,可以考虑只在最后添加一次处理
3.default表示默认选项,当所有case条件不匹配时,会执行此选项
4.default可以有,也可以没有
scanner输入的基本知识:
import java.util.Scanner; public class Demo { public static void main(String[] args){ //Scanner //创建文件扫描器对象,System.in表示的是标准输入,可以从控制台读取数据(装饰者模式) Scanner sc = new Scanner(System.in); System.out.println("请输入数据"); String str = sc.nextLine(); System.out.println(str); } }
switch分支的举例
public class Demo { public static void main(String[] args){ int random = (int)(Math.random()*26); char ch = (char)('a'+random); switch(ch){ case 'a': System.out.println("元音"+ch); break; case 'e': System.out.println("元音"+ch); break; case 'i': System.out.println("元音"+ch); break; case 'o': System.out.println("元音"+ch); break; case 'u': System.out.println("元音"+ch); break; default: System.out.println("辅音"+ch); break; } } }
1.输入一个数,判断是奇数还是偶数
import java.util.Scanner; public class Demo { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int num = sc.nextInt(); if(num%2==0){ System.out.println("ou"); } else { System.out.println("ji"); } } }
2.根据成绩输出对应的等级,使用if多分支和switch语句分别实现
public class TestGrade1 { public static void main(String[] args) { // 给出分数 Scanner input = new Scanner(System.in); System.out.println("请输入一个分数"); double score = input.nextDouble(); // 根据分数,给出等级 String grade; if (score >= 90) { grade = "A"; } else if (score >= 80) { grade = "B"; } else if (score >= 70) { grade = "C"; } else if (score >= 60) { grade = "D"; } else { grade = "E"; } // 输出等级 System.out.println("score=" + score + ",grade=" + grade); } } public class TestGrade2 { public static void main(String[] args) { // 给出分数 Scanner input = new Scanner(System.in); System.out.println("请输入一个分数"); int score = input.nextInt(); //根据分数,给出等级 String grade="E"; switch(score/10){ case 10: case 9:grade="A";break; case 8:grade="B";break; case 7:grade="C";break; case 6:grade="D";break; default :grade="E"; } //输出等级 System.out.println("score="+score+",grade="+grade); } }
3.根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。
public class TestSeason { public static void main(String[] args) { // 输入月份 Scanner input = new Scanner(System.in); System.out.println("请输入月份:"); int month = input.nextInt(); //根据月份输出季节 switch(month){ case 1: case 2: case 3: System.out.println("春天-春暖花开 春意盎然-植树 踏青");break; case 4: case 5: case 6: System.out.println("夏天-夏日炎炎 夏雨雨人-游泳 吃雪糕");break; case 7: case 8: case 9: System.out.println("秋天-秋高气爽 秋风落叶- 秋收 送秋波 ");break; case 10: case 11: case 12: System.out.println("冬天-寒冬腊月 白雪皑皑 -滑雪 溜冰");break; default: System.out.println("您的输入有误"); } } }
4.判断一个数是否是素数。
public class TestPrime { public static void main(String[] args) { // 输入一个数 Scanner input = new Scanner(System.in); System.out.println("请输入一个数:"); int n = input.nextInt(); // 判断是否是素数 boolean flag = true; if (n == 1) flag = false; else { for (int i = 2; i < n; i++) { if (n % i== 0) { flag = false; break; } } } // 输出结果 if (flag) { System.out.println(n + "是素数"); } else { System.out.println(n + "不是素数"); } } }
5.从键盘输入一个班5个学生的分数,求和并输出。
public class TestSum { public static void main(String[] args) { Scanner input = new Scanner(System.in); //输入总分并求和 double sum = 0; for (int i = 0; i < 5; i++) { System.out.println("请输入第"+(i+1)+"个学生的成绩"); double d = input.nextDouble(); sum += d; } //输出总分 System.out.println("总分是"+sum); } }