[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;
    ...
}
posted @ 2020-02-09 20:35  答案唯一的四重选择题  阅读(154)  评论(0)    收藏  举报