Java程序设计 基础、数据类型
Java开发方向
| 方向 | 概述 |
|---|---|
| JAVA SE | 包含构成java语言核心的类。比如:数据库连接、接口定义、输入\输出、网络编程 |
| JAVA EE | 包含JAVASE 中的所有类,并且还包含用于开发企业级应用的类。比如:EJB、Servlet、JSP、XML、事务控制,也是现在JAVA应用的主要方向 |
| JAVA ME | 包含JAVA SE 中一部分类,用于消费类电子产品的软件开发。比如:手机、PDA、机顶盒。但是用于JAVA ME出现较早,以及现在发展的问题。已经被Android开发所替代。 |
Java语言的特点
1、简洁有效
2、可移植性
3、面向对象
4、解释型
5、适合分布式计算
6、拥有较好的性能
7、健壮、防患于未然
8、具有多线程处理能力
9、具有较高的安全性
10、函数式编程
11、模块化支持
Hello word
public class Hello {
public static void main(String args[]) {
// 输出数据换行
System.out.println("hello word");
// 输出数据不换行
System.out.print("hello word");
System.out.print("hello word");
}
}
public class是Java中的关键字,表示的是定义一个类,在Java中所有的操作都是由类组成的
public static void main(String args[]),是程序的主方法,即所有的程序都会以此方法作为起点并运行下来
System.out.println()起输出的作用,是直接将“()”里的内容进行输出,如果有多个值时,中间可以使用“+”连接
System.out是指标准输出
在Java中所有的程序都是由一个个代码段组成,代码段使用“{}”声明,可以嵌套
注释
// 单行注释
/*
多行注释
*/
/**
* 文档注释
*/
标识符
java的包、类、方法、参数、变量的名字,可以由任意顺序的大小写字母、数字、下划线(_)、美元符号($)组成
但标识符不能以数字开头,也不能是java中的保留关键字。
关键字
| 关键字 | ||||||
|---|---|---|---|---|---|---|
| abstract | assert | boolean | break | byte | case | catch |
| char | class | continue | const | default | do | double |
| else | extends | enum | final | finally | float | for |
| goto | if | implements | import | instanceof | int | interface |
| long | native | new | null | package | private | protected |
| public | return | short | static | synchronized | super | strictfp |
| switch | this | throw | throws | transient | try | void |
| volatile | var | while |
访问控制:public、protected、private。
类、方法、变量修饰符:abstract、class、extends、final、implements、interface、native、new、static、strictfp、synchronized、transient、volatile、void、enum。
程序控制:break、continue、return、do、while、if、else、for、instanceof、switch、case、default。
异常处理:try、catch、throw、throws、final、assert。
包定义与使用:import、package。
基本类型:boolean、byte、char、double、float、int、long、short、null、true、false。
变量引用:super、this。
未使用到的关键字:goto、const。
Java数据类型
| 数据类型 | 位 | 范围 | 默认值 |
|---|---|---|---|
| byte | 8 | -128~127 | 0 |
| short | 16 | -32768~32767 | 0 |
| int | 32 | -2147483648~2147483647 | 0 |
| long | 64 | -9223372036854775808~9223372036854775807 | 0 |
| float | 32 | -3.4E38~3.4E38 | 0.0 |
| double | 64 | -1.7E308~1.7E308 | 0.0 |
| char | 16 | 0('\u0000')~65535('\uffff') | ‘\u0000’ |
| boolean | - | true、false | false |
变量与常量
常量,指的就是一个个具体的内容,例如,一个数字10,内容始终都是无法改变的,这样的内容就被称为常量。
变量一般都需要定义相应的数据类型。而且这个变量一般都可以保存不同的内容,既然里面的内容可变那么就称为变量。
public class Hello {
public static void main(String[] args) {
int a = 10;
// 10是一个常量
// a是一个变量
a=20;
System.out.println(a*a);
}
}
数据溢出
public class Hello {
public static void main(String[] args) {
int max=2147483647;
int min=-2147483648;
System.out.println("max+1:"+(max+1));
System.out.println("max+2:"+(max+2));
System.out.println("min-1:"+(min-1));
}
}
运算符
| 运算符 | 类型 | 例子 | 结果 | 描述 |
|---|---|---|---|---|
| = | 赋值运算符· | int a=1; | a的值为1 | 为变量赋值 |
| ?: | 三目运算符 | int a=1>0? 1:0 | a的值为1 | ?前的表达式为真赋值:前的 否则赋值:后的 |
| + | 算术运算符 | int a =10+10 | a=20 | 加 |
| - | 算术运算符 | int a=10-10 | a=0 | 减 |
| * | 算术运算符 | int a=10*10 | a=100 | 乘 |
| / | 算术运算符 | int a=10/10 | a=1 | 除 |
| % | 算术运算符 | int a=10%10 | a=0 | 取余 |
| 关系运算符 | 1>0 | true | 大于 | |
| < | 关系运算符 | 1<0 | false | 小于 |
| >= | 关系运算符 | 1>=0 | true | 大于等于 |
| <= | 关系运算符 | 1<=0 | false | 小于等于 |
| == | 关系运算符 | 1==0 | false | 等于 |
| != | 关系运算符 | 1!=0 | true | 不等于 |
| ++ | 自增运算符 | x++ ++x | - | ++放变量x后 使用x后 再自增 ++放变量x前 使用x前 x先自增 |
| -- | 自减运算符 | x-- --x | - | --放变量x后 使用x后 再自减 --放变量x前 使用x前 x先自减 |
| & | 逻辑运算符 | false&true | false | and 与 全为true结果为true |
| && | 逻辑运算符 | false&&true | false | 短路 与 全为true结果为true |
| | | 逻辑运算符 | false|true | true | or 或 有一个为true 结果为true |
| || | 逻辑运算符 | false||true | true | 短路 或 有一个为true 结果为true |
| ! | 逻辑运算符 | !false | true | not 否 true变flase false变true |
| () | 括号运算符 | int a=1*(2+2) | a=4 | ()改变运算的优先级 |
| & | 位运算符 | 8&4 | 0 | 按位与 全1为1 |
| | | 位运算符 | 8|4 | 12 | 按位或 有1为1 |
| 位运算符 | 8^4 | 12 | 异或 相同为0 不同为1 | |
| ~ | 位运算符 | ~8 | -9 | 取反 |
| << | 位运算符 | 8<<2 | 32 | 左移位 |
| >> | 位运算符 | 8>>2 | 2 | 右移位 |
| >>> | 位运算符 | 8>>>2 | 2 | 无符合右移位 |
| += | 简化赋值运算符 | a+=b | - | a=a+b |
| -= | 简化赋值运算符 | a-=b | - | a=a-b |
| *= | 简化赋值运算符 | a*=b | - | a=a*b |
| /= | 简化赋值运算符 | a/=b | - | a=a/b |
| %= | 简化赋值运算符 | a%=b | - | a=a%b |