wangc
Jan 21, 2020
换行./////////
Java—基础语法
1. Java基本特点
- Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
- 应用领域:Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。
2. 基本概念
JVM,JRE与JDK
- JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。Java语言的跨平台特性是由JVM实现的。
- JRE (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库。
- JDK (Java Development Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。
数据类型
Java的数据类型分为两大类:
- 基本数据类型:包括整数、浮点数、字符、布尔。
- 引用数据类型:包括类、数组、接口。
四类八种基本数据类型:
数据类型 | 关键字 | 内存占用 | 取值范围 |
---|---|---|---|
字节型 | byte | 1个字节 | -128~127 |
短整型 | short | 2个字节 | -32768~32767 |
整型 | int(默认) | 4个字节 | -2的31次方~2的31次方-1 |
长整型 | long | 8个字节 | -2的63次方~2的63次方-1 |
单精度浮点数 | float | 4个字节 | 1.4013E-45~3.4028E+38 |
双精度浮点数 | double(默认) | 2个字节 | 4.9E-324~1.7977E+308 |
字符型 | char | 2个字节 | 0-65535 |
布尔类型 | boolean | 1个字节 | true,false |
定义所有基本数据类型的变量,代码如下:
//定义字节型变量
byte b = 100;
//定义短整型变量
short s = 1000;
//定义整型变量
int i = 123456;
//定义长整型变量
long l = 12345678900L;
//定义单精度浮点型变量
float f = 5.5F;
//定义双精度浮点型变量
double d = 8.5;
//定义布尔型变量
boolean bool = false;
//定义字符型变量
char c = 'A';
类型转换
- 自动类型转换
当运算符两边出现不一致的类型时,会自动转换成较大的类型。
byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
- 强制类型转换
double a = 1.0;
double b = 2,0
int i = (int)(a/b);
// 强制类型转换的优先级高于四则运算
- 注意:浮点转成整数,直接取消小数点,可能造成数据损失精度。int 强制转成short 砍掉2个字节,可能造成数据丢失。
数组
运算
- 算术运算符
- 自增自减运算:
++
、--
+
符号在遇到字符串的时候,表示连接、拼接的含义
- 自增自减运算:
-
赋值运算符:=
- 比较运算符
Java语言提供6种关系运算符(> < <= >= == != )
- 逻辑运算符
运算符 | 描述 |
---|---|
! | 逻辑非 |
&& | 逻辑与 |
|| | 逻辑或 |
- 条件运算符(三元运算符)
count = (count>20)? cout-10: count
//等价于
if( cout>20 )
count = count-10;
else
count = count+10;
3. 语法结构
- 顺序结构(略)
- 选择结构
- If语句
- switch语句
//C提供了三种形式的if语句
if( flag ) {
// statement
}
if( a != 1) {
// statement 1
}else {
// statement 2
}
if( a ==1 ) {
// statement 1
}
else if( a == 2) {
// statement 2
…
}else {
// statement n
}
int i;
Switch( i )
{
case 1:
// expression 1
break;
case 2:
// expression 2
break;
…
case n:
// expression n
break;
default:
// expression n+1
break;
}
- 循环结构
- while语句
- do-while语句
- for语句
- Break语句用于跳出循环,continue用于结束本次循环。
while( ture )
{
// while语句先判断表达式后执行语句
}
do{
// do-while语句先执行语句后判断表达式
} while ( true )
for( i=0; i<10; i++ )
{
if( i==2 )
{
continue;
}
if( i==4 )
{
break;
}
}
4. 程序结构
我们在学习运算符的时候,都为每个运算符单独的创建一个新的类和main方法,我们会发现这样编写代码非常的繁琐,而且重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现。
- 方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。 当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。
方法
- main方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多少程序,JVM在运行的时候,都会从main方法这里开始执行。
public static void main(String[] args) {
//调用定义的方法method
method();
}
//定义方法,被main方法调用
public static void method() {
System.out.println("自己定义的方法,需要被main调用运行");
}
方法重载
- 方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
- 参数列表:个数不同,数据类型不同,顺序不同。
- 重载方法调用:JVM通过方法的参数列表,调用不同的方法。
public class MethodOverload {
public static void main(String[] args) {
myPrint(100);
myPrint("Hello");
}
// 方法重载
// 模拟输出语句中的println 方法效果,传递什么类型的数据就输出什么类型的数据
public static void myPrint(byte num){System.out.println(num);}
public static void myPrint(short num){System.out.println(num);}
public static void myPrint(int num){System.out.println(num);}
public static void myPrint(long num){System.out.println(num);}
public static void myPrint(float num){System.out.println(num);}
public static void myPrint(double num){System.out.println(num);}
public static void myPrint(char c){System.out.println(c);}
public static void myPrint(boolean is){System.out.println(is);}
public static void myPrint(String str){System.out.println(str);}
}