目录
Linux终端编写并运行Java程序
javac 是java的编辑器,能将 .java 文件编译为 .class 可执行文件:

第一章 计算机、程序和Java概述
温习了计算机基础知识、程序和操作系统,并且初始Java及其基本语法。
1、梦开始的地方:简单的Java程序
public class Welcome //类
{
    public static void main(String[] args) //main方法
    {
        System.out.println("Welcome to JAVA!");
    }  
}第一行定义了一个类(Welcome),每个Java程序都至少有一个类,且类名都以大写字母开头。
第二行定义了main方法,程序从这里开始执行。一个类可以包含好几个方法。
同时,Java源程序保存为 .java 文件,编译为 .class 文件。同时文件名必须与公共类名完全相同,比如上面这段代码的文件必须命名为 Welcome.java 。
public class ComputeExpression
{
    public static void main(String[] args)
    {
        System.out.print("(10.5 + 2 * 3) /(45 - 3.5) = ");  //输出句子
        System.out.println((10.5 + 2 * 3) /(45 - 3.5));  //没有引号输出值,输出后换行
    }
}print和println用法上没有区别,区别仅仅在于换行:
print直接输出,而println输出后会将光标移到下一行开始处(换行)
第二章 基本程序设计
1、+
‘ + ’不仅仅能用来进行数值的相加,在java中也是字符串连接符。
同时,数值与字符串相加,会把数字拼接为字符串。
String s="5";
int s1=2;
System.out.println(s+s1);2、控制台读取输入
标准输出设备:System.out;标准输入设备:System.in
1  import java.util.Scanner;
2
3  public class HELLO{
4  public static void main(String[] args)
5  {
6	  Scanner input = new Scanner(System.in);
7	  double radius = input.nextDouble();
8     double area = radius * radius *3.14159;
9	  System.out.println("The area for the circle of radius "+radius + " is " + area);	
10 }
11 }其中input、radius、area都是自定义标识符
第六行的 Scanner input = new Scanner(System.in); 语句中创造了一个Scanner对象。Scanner是一个类,Sannner类在 java.util 包中。
第一行的 import 语句倒入类(如果第六行写成中的Scanner替换为 java.util.Scannner 的话,则不需要第一行的声明。)
第七行的 double radius = input.nextDouble(); 语句读取一个double值的输入,而输入值赋给 radius 。
同理,如果想要输入一个 int 值则为 int radius = input.nextInt();。而如果想要读入一个字符串,则使用next( )方法。

3、数值数据类型
| byte | -128 ~ 127 / 2的7次方 | 
| short | -32768 ~ 32767 / 2的15次方 | 
| int | 2的31次方 | 
| long | ... | 
| float | ... | 
| double | ... | 
4、幂运算
Math.pow ( a, b )表示 a的b次方。其中 pow 为方法,Math为类。
拓展:那么根号运算则为 Math.pow ( a, 0.5 )
第三章 选择
1、产生随机数
Math.random () 会随机产生一个 0.0~1.0 之间的double值。如果想要获取一个0~9之间的整数,可以使用:(int)( Math.random( ) * 10 );
第四章 数字函数、字符和字符串
1、常用数学函数(Math类)
Math类在java.lang包中,而java.lang包中的所有类都是隐式导入的,因此不需要在程序开头导入。
(1)三角函数方法
| sin(弧度) | 返回三角正弦函数值 | 
| cos(弧度) | 返回三角余弦函数值 | 
| tan(弧度) | 返回三角正切函数值 | 
| toRadians(角度) | 返回度数 | 
| toDegrees(弧度) | 弧度转化为角度 | 
| asin() | 返回反三角正弦函数值 | 
| acos() | 返回反三角余弦函数值 | 
| atan() | 返回反三角正切函数值 | 
(2)指数函数方法
| exp( a ) | 返回 e 的a次方 | 
| log( a ) | 返回 a 的自然对数 | 
| log10( a ) | 返回 a 以10为底的对数 | 
| pow( a ) | 返回 a 的 b 次方 | 
| sqrt( a ) | 返回 a 的平方根 | 
(3)取整
| ceil( a ) | a向上取一个最接近它的整数(双精度) | 
| floor( a ) | a向下取一个接近它的整数(双精度) | 
| rint( a ) | 要是用到自己查 | 
| round( a ) | 自己查+1 | 
(4)min、max和abs方法
min 返回两数最小值、 max 返回两数最大值,而 abs 返回一个数的绝对值。
(5)random方法
上面提到过random方法,它生成一个等于0.0小于1.0的随机double类型数。同时我们也可以编写它使其生成任意范围的随机数,比如:
(int)( Math.random() * 10 )  //返回0~9之间的随机整数
50 + (int)( Math.random() * 50)  //返回一个50~99之间的随机整数(6)常量
Math类还提供两个double型常量:即 PI(派)和 E(自然对数的底)。用的时候直接使用Math.PI和 Math.E 即可。
2、字符和字符串
和C语言相同,双引号内为字符串,而单引号内为字符
(1)字符( Character类 )
char c = 'A';        //字符
System.out.println( ++c );1、 字符读取
调用nextLine()从控制台读取一个字符串,在用charAt(0)来返回一个字符:
Scanner input =new Scanner(System.in);
String s1 = input.nextLine();
char s = s1.charAt(0);  //获取下标值为0的字符
System.out.println("The line entered is "+ s);输入及输出:

char c = 'A';
System.out.println(Character.isDigit(c));  //搭配输出函数输出
System.out.println(Character.isLowerCase(c));(2)字符串( String类 )
1、字符串读取
调用Scanner对象上的next()方法读取以空白字符结尾的字符串(空格也算):
Scanner input = new Scanner(System.in);
String s1 = input.next();    //读取字符串next()有时无法读取一整行文本,这时我们可以使用nextLine():
package PACKAGE_NAME;
import java.util.Scanner;
public class EXERCISE { //类
    public static void main(String[] args) //main方法
    {
        Scanner input =new Scanner(System.in);
        String s1 = input.next();      //next()方法
        String s2 = input.next();   
        String s3 = input.nextLine();  //nextLine()方法
        System.out.println("1、"+ s1);
        System.out.println("2、"+ s2);
        System.out.println("3、"+ s3);
    }
}输入及输出结果:
 
2、字符串输出
String c = "WELCOME TO JAVA!";  //c为字符串,用String类引用
System.out.println( c );| length( ) | 返回字符串中的字符数 | 
| charAt( 下标值 ) | 返回字符串中指定位置的字符 | 
| concat( s1 ) | 将本字符串和字符串s1连接,然后返回一个新的字符串 | 
| toLowerCase( ) | 返回该字符串的全小写格式 | 
| toUpperCase( ) | 返回该字符串的全大写格式 | 
| trim( ) | 去掉两边的空白字符 | 
3、返回字符个数
注意:因为是对象方法,因此使用的时候应该是:
String s ="XXX";  //s即为String类的对象
System.out.println( s.length( ));  //返回s的字符数而不是:System.out.println( String.length( ));错误!!
4、连接字符串
String s3 = s1.concat(s2);  //连接s1和s2字符串成为s3
//等价于String s3 = s1 + s2;5、字符串和数字之间的转换
可使用Integer.parseInt()方法以及Double.parseDouble()方法对数值型字符串进行类型转换
 (一定要是数值型字符串,否则会报错)
  










