当我敲下这篇文章的时候还有12小时java考试
视频来不及看了,看书吧。。。
Java语言
什么是java语言?
答:略
关键词:跨平台性、面向对象、简单性、安全性、多线程性
每一门语言学习的最开始都逃不了Hello World一下
public class Example1 {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
-
public static void main(String[] args)定义了 Java 程序运行的主方法 main,该 main 方法又称为主方法,它是 Java 程序执行的入口。
-
每条语句都以分号(;)结尾{}、[]、分号、逗号、引号等都只认英文
Java 语言中,有许多单词被赋予了特殊含义,用作专门用途。这些单词不能作为变量名、类名、方法名等使用。Java 常用关键字
类别 关键字 说明 访问控制 public、protect、private 访问控制修饰符 基本类型 byte char short int long 不同取值范围的整型 boolean 布尔类型 float double 不同精度的浮点型 类、方法 class extends implements 类、继承、实现 abstract interface 抽象类与抽象方法、接口 static 静态属性或方法 final 最终属性或方法 new 创建对象 synchronized 定义同步方法、代码 void 说明方法不返回任何值 变量引用 super 引用父对象的属性与方法 this 表示当前对象 控制语句 if else 分支语句中关键字 for while do 循环语句中关键字 switch case default switch语句中关键字 break continue 用在循环体中,控制循环的执行 return 方法执行完的返回 出错处理 try catch finally throw throws 异常处理的关键字 assert 设置断言,用于程序的正确性验证 包 package import 包的定义、包的引入 标识符
Java 语言的标识符是由字母、数字、下划线(_)和美元符号($)组成的任意长度的字符序列-
必须以字母、下划线(_)或美元符号($)开头。它不能以数字开头!!!
- 不能是保留字。
- 不能为规定的常量符号 null、true、false
分隔符
Java 分隔符分为空白分隔符与普通分隔符空白分隔符(whitespace)在程序中起分隔作用,包括空格, '\t', '\f', '\r'与 '\n'等字符, '\t'为 Tab 键, '\f'为换页符, '\r'为回车符, '\n'为换行符。普通分隔符符号 语法含义 {} 类体、方法体、块语句、数组初始值() 方法参数[] 数组下标; 语句结束标志, 参数分隔、变量定义分隔. 取对象的属性与方法控制台输入输出
Scanner 对象是从键盘的输入缓冲区中读取数据,它可以读整数、实数(又称为浮点数)、字符串、布尔值。方法名说明nextByte()读取字节型整数nextShort()读取短整数nextLong()读取长整数nextInt() 读取整数 nextFloat() 读取单精度实数 nextDouble() 读取双精度实数 next() 读取一个字符串,直到遇到分隔符为止 nextLine() 读取一行字符,直到遇到行结束符为止 nextBoolean()读取布尔值,布尔值只能是 true 与 false
此处省略算术运算符、逻辑运算符、赋值运算符
强调一下条件运算符
Java 条件运算符(?:)是一个三目运算符,其语法形式如下:<表达式 1>? <表达式 2>: <表达式 3>表达式 1 是一个具有布尔值的表达式,如果表达式 1 的值为 true,则将表达式 2 的值做为整个表达式的值;否则将表达式 3 的值做为整个表达式的值
强制类型转换
老师上课突然点人问过(但是我觉得没啥好考的)
自动类型转换
自动类型转换又称为隐式转换。在对表达式求值时,Java 语言会遵循从小到大的原则,就 是 小 的 数 据 类 型 可 以 默 认 转 换 成 大 的 数 据 类 型 。一 般 按 照byte-short-int-long-float-double,char-int 的原则进行转换,即把数据范围小的数据类型转换成数据范围大的数据类型。例如下面的表达式:int i=10;float t=2.3f;double x=2+t+i;在计算表达式 2+t+i 时,整数 2 与整型变量 i 都转换成变量 t 对应的 float 类型,在赋值时,把 float 值转换成 double 类型强制类型转换强制类型转换的语法格式如下:(<类型>)<表达式>上代码import java.util.Scanner; public class Example2 { static double PI=3.14159; public static void main(String[] args) { Scanner sc=new Scanner(System.in); float radius; System.out.print("输入圆的半径:"); radius=sc.nextFloat(); System.out.println("圆的周长是:"+2*PI*radius); System.out.println("圆的面积是:"+(int)(PI*radius*radius)); } }
来练练手(押题ing):编写程序,从键盘上输入存款本金与一年期利率,输出一年后、两年后、三年后的本息值。
if语句(必考)
1. 简单 if 语句简单 if 语句的格式为if (<逻辑表达式>)<语句块>2. if-else 语句if-else 语句的格式为if (<逻辑表达式>)<语句块 1>else<语句块 2> -
-
3. 复合 if 语句
复合 if 语句又称为多择一 if 语句,其格式为
if (<逻辑表达式 1>)<语句块 1>else if (<逻辑表达式 2>)<语句块 2>……else<语句块 n>
switch 语句
switch (<switch 表达式>) {case value1:<语句块 1>;break;case value2:<语句块 2>;break;... ...case valueN:<语句块 N>;break;default:<其他语句块>;}
while语句
while 语句是一种常用的循环语句,其语法格式如下。
while (<逻辑表达式>) {<循环体>;}
do-while 语句
do-while 语句的语法格式如下。
do<循环体>while(<逻辑表达式>);
其中,<逻辑表达式>是循环控制条件,其值是布尔类型。do-while 语句的执行与 while 稍有
不同。在 while 语句中,如果一开始的<逻辑表达式>为假,则循环体一次都不执行;而 do-while 语句的执行流程是先执行循环体,然后再计算<逻辑表达式>,如果该值为 true,则继续循环,
直到该值为假。因而,do-while 语句至少执行一次<循环体>中的语句。
押题:
从键盘上输入若干个数,求这组数据的平方和 s,当平方 s>10
8
或者输入的数为 0
时,输出数据个数与平方和 s,程序结束。
import java.util.Scanner;
public class Example3{
public static void main(String args[]){
double s = 0,x;
int i = 0;
Scanner sc = new Scanner(System.in);
do {
x=sc.nextDouble();
i = i+1;
s = s+Math.pow(x,2);
}while(x!=0 && s<1.0e+8);
System.out.println("输入数据的平方和="+s);
Systen,out,println("输入数据个数="+i);
}
}
for 语句(必考)
for 语句是一种常用的循环语句,语法形式如下:
for(<初始化表达式>; <循环条件表达式>; <循环后操作表达式>)<循环体>
此处省略break 语句、continue 语句
押题:
求两个正整数的最大公约数
import java.util.Scanner;
public class Example4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("输入第一个整数: ");
int n1 = input.nextInt();
System.out.print("输入第二个整数: ");
int n2 = input.nextInt();
int gcd = 1;
int n;
if (n1 > 0 && n2 > 0) {
if (n1 >= n2)
n = n2;
else
n = n1;
while (n>=1) {
if (n1 % n == 0 && n2 % n == 0)
{gcd = n;
break;
}
n--;
}
System.out.println( n1 + " 和 " + n2 + " 最大公约数是: " + gcd);
} else
System.out.println("n1 和 n2 必须是大于 0 的整数");
}
}
输出斐波那契数列的前 20 项
public class Example5{
public static void main(String[] args) {
int a=1;
int b=1;
int t;
System.out.printf("%6d%6d",a,b);
for (int i=2;i<=20;i++){
t=a+b;
System.out.printf("%6d",t);
a=b;
b=t;
}
}
}
编写一个程序,提示用户输入一个从’A’到’Z’的字符,并显示一个金字塔。例如,输入
H,则显示由 A 到 H 形成的金字塔。
public class AlphabetPyramid {
public static void main(String[] args) {
char lastChar = 'H'; // 定义金字塔的最后一个字符
char currentChar; // 用于在金字塔的每行中打印当前字符
for (char i = 'A'; i <= lastChar; i++) {
// 用于生成每一行,从'A'到指定的最后一个字符
for (char j = lastChar; j > i; j--) {
// 打印当前行之前的空格,确保金字塔形状
System.out.print(" ");
}
for (currentChar = 'A'; currentChar < i; currentChar++) {
// 打印从'A'开始到当前字符之前的字符
System.out.print(currentChar);
}
for (currentChar = i; currentChar >= 'A'; currentChar--) {
// 打印从当前字符开始递减到'A'
System.out.print(currentChar);
}
System.out.println(); // 新的一行开始
}
}
}