小C的第一宇宙
wangc
Jan 21, 2020
阅读本文需要 11 分钟(按字数)

换行./////////

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 和开发人员使用的工具。

JVM

数据类型

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);}
}