第一部分:Java概述
浅浅了解一下,我们先来看一个简单的java程序(Welcome.java)
public class Welcome{
public static void main(String[] args){
System.out.println("Welcome to java!");
}
}
输出:Welcome to java!
在这简短的代码中蕴含了许多小知识,我们来康康
1>定义了一个类
每个java程序至少都应该有一个类,每一个类都有一个名字。
按照规定,类名都是以大写字母开头的。
正如上面这个代码中类名是Welcome.
2>定义了一个main方法
程序是从main方法开始执行的,一个类可以包含多个方法。
main方法是程序开始执行的入口。
小小插曲:我们来简要了解一下方法、字符串。
*~*方法是包含语句的结构体;
在上面这个main方法中包括了System.out.println语句。
*~*字符串是一个编程术语,表示一个字符序列,字符串必须用引号引起来。
在上面的代码中Java中的每条语句都以分号(;)结束哦,分号也称为语句终止符。
3>关键字
关键字具有特定含义,所以在程序中不能用于其他目的。
上面代码中class后面的词(Welcome)就是这个类的名字。
其他关键词有public、static 、void。
4>块
程序中的一对花括号{ }将程序的一些组件分组,形成一个块。(块是可以被嵌套的哦)
下面我们再次通过一个简短的代码了解java程序中的小知识
public class ComputeExpression {
public static void main(String[] args) {
//打印(10.5+2*3) / (45-3.5) =
System.out.print("(10.5+2*3) / (45-3.5) = ");
//打印出(10.5+2*3) / (45-3.5) = 的结果
System.out.println((10.5 + 2 * 3) / (45 - 3.5));
}
}
/*
这个小代码的输出为:(10.5+2*3) / (45-3.5) = 0.39759036144578341
*/
小小讲解
1> print和pintln的区别:
print 方法与println方法相同
println方法会在显示完一个字符串之后移到下一行的开始处
print方法在显示完成后不会进入下一行
2>注释
行注释:两个斜杠//位于单行注释前
块注释:在一行或者多行用/* 和 */括住的注释
第二部分:基本程序设计
知识点一:加号 + 的含义
public class ComputeArea {
public static void main(String[] args){
double radius =20;
double area;
// radius = 20;
area = radius * radius *3.14159;
System.out.println("The area for the circle of radius " + radius + " is " +area);
// '+'可以表示连接
}
}
*~* 加号的两种含义:
第一种表示加法;
第二种用于字符串的连接(合并),称为字符串连接操作符
知识点二:从控制台读取输入(程序可以获取用户的输入)
java的标准输入设备:System.in
java的标准输出设备:System.out
1>在java程序中,可以使用Scanner类来创建一个对象,用来读取来自System.in的输入
表示方法:Scanner input = new Scanner(System.in)
详细了解:语法 new Scanner(System.in)创建了一个Scanner类型的对象;
语法Scanner input = new Scanner(System.in)创建了一个Scanner类型的变量;
整句Scanner input = new Scanner(System.in)创建了一个Scanner对象,并且将
它的引用赋给变量input。
2> 对象可以调用其方法
调用对象的方法就是让这个对象执行某个任务
举个小例子了解一下:
可以调用nextdouble()方法来读取一个double值:
例如:double radius = input.nextDouble();
下面我们通过这个程序更加深刻记住知识点叭
import java.util.Scanner;//特定导入
//可以用*代替Scanner,比如 import java.util.* 称为通配符导入
public class ComputeAreaWithConsoleInput {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//创建一个对象,用来读取来自System.in的输入
System.out.print("Enter a number for radius: ");
double radius = input.nextDouble(); //从键盘读取一个输入
double area = radius * radius * 3.14159;
System.out.println("The area for the circle of radius " + radius + " is " + area);
}
}
知识点三:命题常量(命题常量是表示不变的标识符)
声明常量的语法:
final datatype CONSTANTNAME = value;
必须在同一条语句中对常量进行声明和赋值;
final是声明常量中的关键字,常量中的字母都应该大写。
import java.util.Scanner;
public class ComputeAreaWithConstant {
public static void main(String[] args){
final double PI = 3.14159; //final 相当于c语言的宏定义
Scanner input = new Scanner(System.in);
System.out.print("Enter a number for radius: ");
double radius = input.nextDouble();
double area = radius * radius *PI;
System.out.println("The area for the cricle of radius " + radius + " is " + area );
}
}
知识点四:数值数据类型和操作
1.java为数值、字符和布尔值数据提供了8种基本数据类型。
用一张图搞定
注意:字符串不属于基本数据类型,属于引用数据类型;
字符属于基本数据类型
2.下面我们具体了解数值数据类型的范围和存储空间
知识点五:从键盘读取数值
方法 | 描述 |
nextByte() | 读取一个Byte类型的整数 |
nextShort() | 读取一个Short类型的整数 |
nextInt() | 读取一个Int 类型的整数 |
nextLong() | 读取一个Long 类型的整数 |
nextFloat() | 读取一个Float类型的数 |
nextDouble() | 读取一个 Double类型的数 |
知识点六:指数运算
方法Math.pow(a,b)用于计算a的b次方,pow方法定义在java API 的Math类中。
可以使用语法Math.pow(a,b)调用该方法
例如: System.out.println(Math.pow(2,3));
System.out.println(Math.pow(4,0.5));
知识点七:表达式求值和操作符优先级
1.Java运算符分为以下几种:
算术运算符:+,-,*,/,%,++,--
赋值运算符:=
扩展后的赋值运算符:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=,>>>=
位运算符:&,|,~,^,<<,>>,>>>
比较运算符:>,>=,<,<=,==
逻辑运算符:&&,&,||,|,!,^
三目运算符:? :
2.操作符优先级
下面我们通过一个程序来了解一下运用操作符的小细节呐
import java.util.Scanner;
public class FahrenheitToCelsius {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Enter a degree in Fahrenheit: ");
double fahrenheit = input.nextDouble();
double celsius =(5.0 / 9 )* (fahrenheit - 32); //用5.0而不是5
System.out.println("Fahrenheit " + fahrenheit + " is " + celsius + " in Celsius");
}
}
注意:整数运算(/)得到的结果是一个整数。
知识点八:数值类型转换
1.类型转换:类型转换是将一种数据类型的值转换成另一种数据类型的值的操作
2.扩大类型:将一个较小范围类型的变量转换为较大范围类型的变量。(java自动扩大一个类型)
3.缩小类型:将一个较大范围类型的变量转换成较小范围类型的变量。(必须显示完成缩小类型)
例1:
System.out.println((int)1.7);
输出:1.
例2:
System.out.println((double)1/2);
输出:0.5