[ 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));//反向遍历

 十一、函数

定义函数

```java
public static void isPrime(int x)
{
Statements;
...
}

猜你喜欢

转载自www.cnblogs.com/SingleSele/p/12288608.html