[SingleSele]JAVA程序设计基础笔记
Java程序设计 翁恺
目录
零、准备阶段
1.新建工程Project文件
2.新建类Class文件
勾选 public static void main选项
一、输入输出流
输入流
import java.util.Scanner;
Scanner in = new Scanner(System.in);
String str1 = in.nextLine();
String str2 = in.next();
int a = in.nextInt();
nextLine()相当于gets,允许空格输入,next()相当于scanf("%s"),不允许空格输入
输出流
println输出一行,以回车结尾
print输出一段内容
System.out.print(string);
System.out.println(string);
System.out.println(in.nextLine());
System.out.println(in.nextInt());//通过改变方法指定读入数据类型
printf可附带格式控制符
System.out.printf(format, variable1, variable2...);
String类型允许用+进行连接,如:
System.out.println("echo: " + in.nextLine());
二、变量
Java是一种强类型语言,所有变量使用之前必须定义或声明。
Java变量在使用前必须初始化,否则抛出异常Unresolved compilation problem
Java在赋值时若出现值与变量类型不匹配且无法进行隐式类型转换,会抛出异常Type mismatch。
常量定义用final,如
final int Wt = 120;
三、分支
if( Expression )
{
Statement1;
...
}
else if(Expression2)
{
Statement2;
...
}
else
{
Statement3;
...
}
四、循环
while( Expression )
{
Statements;
...
}
for( Exp1; Exp2; Exp3)
{
Statements;
...
}
五、数组
int[] numbers = new int[100];
int[] numbers = new int[x];
数组大小可以是数字,也可以是变量
每个数组含有一个成员对象length,表示数组大小
for(int i=0; i<grade.length; i++)
{
System.out.print(grade[i]+" ");
}
使用new申请的数组会被初始为0,也可以手动赋初始值
int[] arr1 = new int[5];
int[] arr2 = {1, 2, 3, 4, 5};
java允许用for-each形式遍历访问数组元素
for( DataType Variable : Array )
{
Statements;
...
}
for(int k: numbers)
{
if(k==src)
{
found = True;
break;
}
}
六、跳转
//筛选素数
int[] primes = new int[50];
int tail;
MAIN_LOOP:
for(int x=3; tail<50; ++x)
{
for(int i=0; i<cnt; ++i)
{
if(x%i == 0)
continue MAIN_LOOP;
}
primes[tail++] = x; //若x不是素数,此句被跳过
}
for(int k: primes)
{
System.out.print(k+" ");
}
七、字符
java的char类型使用UNICODE编码,支持中文等多种文字,通常以\u0041形式出现,长度为2Byte
逃逸字符(转义字符)
| 编码 | 意义 |
|---|---|
| \b | 回退一格 |
| \t | 到下一个表格位 |
| \n | 换行 |
| \r | 回车 |
| \" | 双引号 |
| \' | 单引号 |
| \|反斜杠 |
八、包裹类型
| 基础类型 | 包裹类型 |
|---|---|
| boolean | Boolean |
| char | Character |
| int | Integer |
| double | Double |
包裹类型可以用于声明变量,声明的变量也可与基础类型变量互相赋值
int a = 5;
Integer b = 7;
b = a;
包裹类型内有成员变量MAX_VALUE和MIN_VALUE
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
Character类型方法
| 方法 | 描述 |
|---|---|
| isLetter() | 是否是一个字母 |
| isDigit() | 是否是一个数字字符 |
| isWhitespace() | 是否是一个空白字符 |
| isUpperCase() | 是否是大写字母 |
| isLowerCase() | 是否是小写字母 |
| toUpperCase() | 指定字母的大写形式 |
| toLowerCase() | 指定字母的小写形式 |
| toString() | 返回字符的字符串形式,字符串的长度仅为1 |
九、Math类
System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));
System.out.println("0度的余弦值:" + Math.cos(0));
System.out.println("60度的正切值:" + Math.tan(Math.PI/3));
System.out.println("1的反正切值: " + Math.atan(1));
System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI/2));
System.out.println(Math.PI);
| 方法 | 作用 |
|---|---|
| abs() | 取参数绝对值 |
| round() | 四舍五入到整数 |
| pow() | 返回参数1的参数2次方 |
| sqrt() | 对参数开平方 |
十、字符串String类
String str1 = new String("a string");
Scanner in = new Scanner(System.in);
String str2;
str2 = in.nextLine();
System.out.println(str2);
equals(str)用于判断字符串对象的内容是否与str相等
System.out.println(str2.equals("bye"));
| 方法 | 作用 |
|---|---|
| equals() | 判断字符串对象内容是否与参数相等 |
| compareTo() | 以字典序判断两字符串大小 |
| length() | 字符串长度 |
| charAt(pos) | 返回字符串第pos个字符 |
| substring() | 返回字符串的子串 |
| indexOf() | 寻找字符所在位置 |
| startWith() | 判断字符串是否以参数开头 |
| endWith() | 判断字符串是否以参数结尾 |
| trim() | 去除两端空格 |
| replace(c1, c2) | 将所有c1字符替换为c2字符 |
| toLowerCase() | 将所有字母变为小写 |
| toUpperCase() | 将所有字母变为大写 |
// compareTo()
System.out.println(str1.compareTo(str2));
// substring()
System.out.println(str1.substring(begin));
System.out.println(str1.substring(begin, end));
// indexOf()
System.out.println(str1.indexOf(char));
System.out.println(str1.indexOf(char, begin));
System.out.println(str1.indexOf(substring));
System.out.println(str1.lastIndexOf(char));//反向遍历
十一、函数
定义函数
public static void isPrime(int x)
{
Statements;
...
}

浙公网安备 33010602011771号