一)什么是面向对象
还有没有理解,待补充~~~
二)第一个java程序
注:以下转载
public class MyFirstJavaProgram {
/* 第一个Java程序.
* 它将打印字符串 Hello World
*/
public static void main(String []args) {
System.out.println("Hello World"); // 打印 Hello World
}
}
如何保存、编译以及运行这个程序:
- 打开Notepad,把上面的代码添加进去;
- 把文件名保存为:MyFirstJavaProgram.java;
- 打开cmd命令窗口,进入目标文件所在的位置,假设是C:\
- 在命令行窗口键入 javac MyFirstJavaProgram.java 按下enter键编译代码。如果代码没有错误,cmd命令提示符会进入下一行。(假设环境变量都设置好了)。
- 再键入java MyFirstJavaProgram 按下Enter键就可以运行程序了
你将会在窗口看到 Hello World
C : > javac MyFirstJavaProgram.java
C : > java MyFirstJavaProgram
Hello World
三)基本语法
1)大小写敏感
2)类名:类名首字母大写,每个单词的首字母大写。
3)方法名:首字母小写,每个单词的首字母大写。
4)源文件:源文件必须与类名相同。
5)主方法入口:所有的java程序由public static void main(String args[])方法开始执行。
1)java标示符
关于Java标识符,有以下几点需要注意:
- 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
- 首字符之后可以是任何字符的组合
- 关键字不能用作标识符
- 标识符是大小写敏感的
- 合法标识符举例:age、$salary、_value、__1_value
- 非法标识符举例:123abc、-salary
public class Lesson02{
public static void main(String[] args){
String 世界 = "阿凡达!";
System.out.println(世界);
}
}
2)java修饰符
Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:
- 可访问修饰符 : default, public , protected, private
- 不可访问修饰符 : final, abstract, strictfp
3)java关键字
下面列出了Java关键字。这些保留字不能用于常量、变量、和任何标识符的名称。
关键字 | 描述 |
---|---|
abstract | 抽象方法,抽象类的修饰符 |
assert | 断言条件是否满足 |
boolean | 布尔数据类型 |
break | 跳出循环或者label代码段 |
byte | 8-bit 有符号数据类型 |
case | switch语句的一个条件 |
catch | 和try搭配扑捉异常信息 |
char | 16-bit Unicode字符数据类型 |
class | 定义类 |
const | 未使用 |
continue | 不执行循环体剩余部分 |
default | switch语句中的默认分支 |
do | 循环语句,循环体至少会执行一次 |
double | 64-bit双精度浮点数 |
else | if条件不成立时执行的分支 |
enum | 枚举类型 |
extends | 表示一个类是另一个类的子类 |
final | 表示一个值在初始化之后就不能再改变了 表示方法不能被重写,或者一个类不能有子类 |
finally | 为了完成执行的代码而设计的,主要是为了程序的健壮性和完整性,无论有没有异常发生都执行代码。 |
float | 32-bit单精度浮点数 |
for | for循环语句 |
goto | 未使用 |
if | 条件语句 |
implements | 表示一个类实现了接口 |
import | 导入类 |
instanceof | 测试一个对象是否是某个类的实例 |
int | 32位整型数 |
interface | 接口,一种抽象的类型,仅有方法和常量的定义 |
long | 64位整型数 |
native | 表示方法用非java代码实现 |
new | 分配新的类实例 |
package | 一系列相关类组成一个包 |
private | 表示私有字段,或者方法等,只能从类内部访问 |
protected | 表示字段只能通过类或者其子类访问 子类或者在同一个包内的其他类 |
public | 表示共有属性或者方法 |
return | 方法返回值 |
short | 16位数字 |
static | 表示在类级别定义,所有实例共享的 |
strictfp | 浮点数比较使用严格的规则 |
super | 表示基类 |
switch | 选择语句 |
synchronized | 表示同一时间只能由一个线程访问的代码块 |
this | 表示调用当前实例 或者调用另一个构造函数 |
throw | 抛出异常 |
throws | 定义方法可能抛出的异常 |
transient | 修饰不要序列化的字段 |
try | 表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码 |
void | 标记方法不返回任何值 |
volatile | 标记字段可能会被多个线程同时访问,而不做同步 |
while | while循环 |
4)Java常量
值不可以改变,需要声明。关键字final, 常量按照java命名规范需要用全部大写,单词之间用 _ 下划线连接
final int NORTH_LAND = 1;
public class Lesson02{
public static void main(String[] args){
final int SOUTH =2;
SOUTH =1;
}
}
这种写法会报错。
5)Java 变量
值可以被改变。
public class Lesson02{
public static void main(String[] args){
String myName ="nabula";
myName = "nebulayao";
System.out.println(myName);
}
}
输出结果是 nebulayo。
6)Java注释
<span style="font-size:12px;">// 注释一行
/* 注释若干行 */
/**
* 注释若干行,并写入注释文档
*
*/</span>
7)运算符(Operator)
运算符, 加(+)、减、负号(-)、乘(*)、除(/)、等于(=)
String支持,(+) (+=)
代码:
public class OperatorTest {
public static void main (String[] args) {
double a = 10;
double b = 20;
double c = 30;
double d = 40;
double sum = 0;
// 优先度
sum = a + b * 2/2 * c;
printLn("a + b * 2/2 * c = ", sum);
sum = a + (b - 2)/(2 + c);
printLn("a + (b - 2)/(2 + c) = ", sum);
// 算术运算符
printLn("a += a: ", a += a);
printLn("b -= b: ", b -= b);
printLn("c *= c: ", c *= c);
printLn("d /= d: ", d /= d);
// 自加自减
printLn("a++ :", a++);
printLn("a :", a);
printLn("b :", b);
printLn("++b :", ++b);
printLn("c-- :", c--);
printLn("c :", c);
printLn("d :", d);
printLn("--d :", --d);
a = 10;b = 20;
c = 30;d = 40;
// 关系运算符
printStr("a == b is ", a == b);
printStr("c != d is ", c != d);
// 逻辑运算符
printStr("(a >= b) && (c <= d) is ", (a >= b) && (c <= d));
printStr("(a >= b) || (c <= d) is ", (a >= b) || (c <= d));
// 三元 if-else 运算符
sum = a<20 ? a*100 :a*10;
System.out.println("a < 20 ? a*100 : a*10 is " + sum);
}
public static void printLn(String s,double i) {
System.out.println("" + s + "" + i);
}
public static void printStr(String s, boolean t) {
System.out.println("" + s + "" + t);
}
}