一、基础语法
命名规则(规范):
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:`monthSalary`
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:`MAX_NUM`
基本数据类型:
1.整型
? 默认int类型,声明long类型数据时,建议末尾加l或L,推荐L,表示区分
public class Test03{
public static void main(String[] args){
long num = 555555555555555;
System.out.println(num);
}
}
2.浮点型
? 默认时double类型,声明float数据类型时,建议结尾加f或F,推荐F,表示区分
public class Test03{
public static void main(String[] args){
float num = 3.33333333333333333;
System.out.print(num);
}
}
3.字符型
? Java语言允许使用转义字符’\'来将其后的字符转变为其他含义
char a = '\n';
4.布尔型
boolean flag ;
flag = ………;
if(flag) {
} else {
}
运算符:
1.算术运算符: +,-,*,/,%,++,–
2.赋值运算符 =
3.关系运算符: >,<,>=,<=,==,!=, instanceof
4.逻辑运算符: &&,||,!
5.位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)
6.条件运算符 ?:
7.扩展赋值运算符:+=,-=,=,/=
?
注意:
java 中的乘幂处理
int a = 3^2;
double b = Math.pow(3,2);
位运算符
int a = 322;
int b = 3<<2;
字符串连接符
"+"运算符两侧的操作数只要有一个是字符串(String)类型,系统会自动将另一个操作数转换成字符串然后再连接
int a = 12;
System.out.println("a = " + a);
逻辑运算符
&&(短路与):左边如果为假,右边无论是真假,结果都是假
||(短路或):左边如果为真,右边无论是真假,结果都是真
& (与):左右两边都为真则真,否则为假
|(或):有真则为真,否则为假
二、两个工具类
随机生成
两种随机生成数据的方式
? 1.Math 类提供了一个名叫random的方法,可以随机生成[0,1)之间任意double类型的数据。
double rand = Math.random();
? 2.通过创建Random类的对象,调用nextInt() 方法,生成指定范围的整数
Random rand = new Random();
int a = rand.nextInt(10);
键盘录入
-
导包 (import java.util.Scanner; ) 告诉程序这个工具在何处 -
创建对象( Scanner sc = new Scanner(System.in); ) 创建工具 -
获取数据 (int num = sc.nextInt(); ) 使用工具获取数据
三、控制语句
选择结构
1.if 选择
if、else if、else
2.switch 选择
switch(){
case * : sout();break;
case * :sout();break;
...
default : sout();
}
循环结构
1.while
2.do while
3.for
4.continue 语句,break 语句
四、练习题
1.生成验证码:
import java.util.Random;
import java.util.Scanner;
public class VerificationCode {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
Random random = new Random();
String str = "";
for(;i > 0;i--){
int flag = random.nextInt(2);
int flag1 = random.nextInt(2);
if (flag == 0){
str += random.nextInt(10);
}else{
if (flag1 == 0){
char a = (char)(Math.floor(Math.random()*26) + 65);
str += a;
}else {
char b = (char)(Math.floor(Math.random()*26) + 97);
str += b;
}
}
}
System.out.println(str);
}
}
2.生成菱形
import java.util.Scanner;
public class Rhombus {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入菱形的长度");
int a = scan.nextInt();
int b;
if (a % 2 == 0){
System.out.println("偶数无法生成菱形");
}else {
b = a / 2 + 1;
for (int i = 1; i <= a; i++) {
if (i <= b) {
for (int j = 1; j <= a; j++) {
if (j < (b - i + 1) || j > (i + b - 1)) {
System.out.print(" ");
} else {
System.out.print("*");
}
}
System.out.println();
} else {
for (int j = 1; j <= a; j++) {
if (j < (i - b + 1) || j > (a + b - i)) {
System.out.print(" ");
} else {
System.out.print("*");
}
}
System.out.println();
}
}
}
}
}
3.空菱形
import java.util.Scanner;
public class EmptyRhombus {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
int b;
if (a % 2 == 0){
b = a/2;
}else {
b = a/2 + 1;
}
//生成菱形
for (int i = 1; i <= a; i++) {
if(i <= b) {
for (int j = 1; j <= a; j++) {
if (j == (b - i + 1) || j == (i + b - 1)){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
else{
for (int j = 1; j <= a; j++) {
if (j == (i - b + 1) || j == (a + b - i)){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
}
}
4.判断奇偶
import java.util.Scanner;
public class MathTest{
public static void main(String[] args){
System.out.println("请输入一个数");
Scanner scan = new Scanner(System.in);
double a = scan.nextDouble();
if(a % 2 == 0){
System.out.println( (int)a + "是偶数" );
}else if(a % 2 == 1){
System.out.println( (int)a + "是奇数");
}else{
System.out.println("输入的数据类型不正确");
}
}
}
5.猜数字
import java.util.Scanner;
public class RandomTest{
public static void main(String[] args){
int a = (int)(Math.random()*100) + 1;
System.out.println("请输入你猜的数:");
Scanner scan = new Scanner(System.in);
int b = 0;
do{
b = scan.nextInt();
if(a == b){
System.out.println("正确!");
}else if(b > a){
System.out.println("猜大了");
}else{
System.out.println("猜小了");
}
}while(a != b);
}
}
6.switch 划分等级
import java.util.Scanner;
public class SwitchTest{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
char b = 0;
if (a >= 90 && a <= 100) {
b = 'A';
} else if (a >= 80 && a < 90) {
b = 'B';
} else if (a >= 70 && a < 80) {
b = 'C';
} else if (a >= 60 && a < 70) {
b = 'D';
} else if (a < 60 && a >= 0) {
b = 'E';
} else {
System.out.println("输入的成绩有误");
}
switch (b) {
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("中等");
break;
case 'D':
System.out.println("及格");
break;
case 'E':
System.out.println("不及格");
break;
default:
System.out.println("");
}
}
}
7.数据反转
import java.util.Scanner;
public class Reverse{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("请输入四位整数");
int a = scan.nextInt();
String str = "";
for(int i = 0; i < 4;i++){
str += (a % 10);
a = a / 10;
}
System.out.println(str);
}
}
8.计算位数
import java.util.Scanner;
public class CountBit{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个整数");
int a = scan.nextInt();
int count = 0;
while(a%10 != 0){
a = a / 10;
count++;
}
System.out.println(count);
}
}
|