Java基础语法
一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和变量的概念
-
对象:对象是类的一个实例,有状态和行为。
-
类:类是一个模板,它描述一类对象的行为和状态。
-
方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
-
变量:每个对象都有独特的变量,对象的状态由这些变量的值决定。
一、变量
1.1 变量的三要素(三个组成部分):
变量名,变量数据类型,变量值。(java是一种强类型的语言),变量名采用驼峰式命名法。
1.2 变量数据类型与变量值的类型要一致。
1.3 变量必须先声明赋值后,才能使用。
1.4 =叫赋值号,将=右边的值赋给左边。
1.5 变量声明和赋值的语法:
1.5.1 直接声明变量的语法 :数据类型 变量名;
eg: Sting name;
1.5.2 声明变量的同时赋值: 数据类型 变量名=值;
eg :
int age = 18;
float heigth = 1.7f;
char sex = ‘女’;
boolean result = true;
double weigth = 40.5;
long money = 10000000000L
1.5.3 变量赋值的语法:变量名=值;
eg : name = “张三”;
name = “李四”;
1.6 在同一个范围内不能出现相同变量名
目前来理解在同一main方法不能声明两个相同变量
1.7 常量:一但赋值不可更改.
常量声明和赋值语法:
final 数据类型 常量名=值;
eg:final char XUE_SEX=‘男’;
//XUE_SEX=‘女’;1.8 (扩展)变量的分类:
1.8.1:按数据类型来分:
基本数据类型的变量:
变量的数据类型是byte,short,int,long,float,double,boolean,char
引用数据类型的变量:变量的数据类型是:
String,数组,集合,类,接口
1.8.2:按变量声明的位置分:
局部变量:在方法中声明的变量。
成员变量:在类中方法外面直接声明的变量。二、数据类型
基本数据类型(整数) - 注意:int为整数的默认类型,如需为long类型赋值较大整数时,需在值的后面追加“L"
基本数据类型(小数/浮点数) - 浮点型数值采用科学计数法表示:
- 2E3等价于2 10^ 3(结果:2000.0)*
- 3E5等价于3 10^ 5(结果:300000.0)*
- 注意:double为浮点数的默认类型,如需为float类型赋值时,需要在值的后面追加“F
基本数据类型(布尔) -
可直接赋值true / false
-
也可赋值一个结果为true / false的表达式
-
注意:Java中的boolean不能参与算数运算
基本数据类型(字符-1) -
前置知识:
- ASCII(American Standard Code for Information Interchange)美国信息交换标准码。
- 基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。
- ASCII是最通用的信息交换标准,为英文字符设定了统一并且唯一的二进制编码。
基本数据类型(字符-2) 前置知识:
- Unicode(万国码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。
- 以满足跨语言、跨平台进行文本转换、处理的要求,(其中包含了ASCIlI编码)。
- 它为每种语言中的每个字符设定了统一并且唯一的二进制编码,
基本数据类型(字符-3) Unicode中每个字符都对应一个二进制整数,可以使用多种方式赋值。
- 字符赋值:char c1 = ‘A’;(通过""描述为字符赋值)
- 整数赋值:char c2 = 65;(通过十进制数65在字符集中对应的字符赋值)
- 进制赋值: char c3 = ‘\u0041’;(通过十六进制数41在字符集中所对应的字符赋值)
转义字符
引用数据类型(字符串) - String类型的字面取值:
- String str1 = “Hello”;
- String str2 = “您好”;
- String str3 = “Java”
三、运算符
-
算数运算符:两个操作数进行计算
-
算数运算符:一元运算符(只有一个操作数)
-
赋值运算符:等号右边赋值给等号左边
-
关系运算符:两个操作数进行比较
-
逻辑运算符:两个boolean类型的操作数或表达式进行逻辑比较
-
三元运算符:将判断后的结果赋值给变量
四、类型转换
-
自动类型转换
-
两种类型相互兼容
-
目标类型大于源类型
-
-
强制类型转换:
-
两种类型相互兼容
-
目标类型小于源类型
-
-
强制类型转换规则:
- 整数长度足够,数据完整。
例: int i = 100; byte b = (byte) i ; //b = 100 - 整数长度不够,数据截断。
例: int i = 10000; byte b = (byte)i; //b = 16(符号位变化,可能变为负数) - 小数强转整数,数据截断。
例: double d = 2.5;int i = (int)d; //i = 2(小数位舍掉) - 字符整数互转,数据完整。
例: char c = 65;int i = c; //i= 65 - boolean的取值为true/false,不可与其他类型转换。
- 整数长度足够,数据完整。
五、类型提升
-
自动类型提升
- 进行算数运算时:
- 两个操作数有一个为double,计算结果提升为double。
- 如果操作数中没有double,有一个为float,计算结果提升为float。
- 如果操作数中没有float,有一个为long,计算结果提升为long。
- 如果操作数中没有long,有一个为int,计算结果提升为int。
- 如果操作数中没有int,均为short或byte,计算结果仍旧提升为int。
- 特殊:任何类型与String相加(+)时,实为拼接,其结果自动提升为String.
- 进行算数运算时:
六、控制台录入
-
程序运行中,可在控制台(终端)手动录入数据,再让程序继续运行。
-
导包语法:import包名.类名;//将外部class文件的功能引入到自身文件中。
-
使用顺序:
-
导入java.util.Scanner。
-
声明Scanner类型的变量。
-
使用Scanner类中对应的方法(区分类型)∶
.nextInt(); //获得整数
.nextDouble0: //获得小数.next(); //获得字符串
.next().charAt(0): //获得单个字符
注:如果输入了不匹配的数据,则会产生java.util.IlnputMismatchException
-
总结:
- 变量:
- 计算机内存中的一块存储空间,是存储数据的基本单元。
- 数据类型:
- 基本数据类型(8种)、引用数据类型(String、数组、对象)。
- 运算符:
- 算数运算符、赋值运算符、关系运算符、逻辑运算符。
- 类型转化:
- 自动类型转换、强制类型转换。
- 类型提升:
- 数字间的常规类型提升,字符串的特殊类型提升。
- 控制台录入:
- 引入工具包、声明Scanner、调用对应方法接收控制台录入数据。
tchException*
总结:
- 变量:
- 计算机内存中的一块存储空间,是存储数据的基本单元。
- 数据类型:
- 基本数据类型(8种)、引用数据类型(String、数组、对象)。
- 运算符:
- 算数运算符、赋值运算符、关系运算符、逻辑运算符。
- 类型转化:
- 自动类型转换、强制类型转换。
- 类型提升:
- 数字间的常规类型提升,字符串的特殊类型提升。
- 控制台录入:
- 引入工具包、声明Scanner、调用对应方法接收控制台录入数据。