一.引言
文章目录
- 一.引言
- 二.Java基础语法
- 2.1.关键字和保留字
- 2.2.标识符命名规范
- 2.3.Java 包(package)
- 2.3.1.什么是Java 包(package)
- 2.3.2.Java 包的作用
- 2.3.3.Java 包的示例代码
- 三.Java数据类型
- 3.1.基本数据类型
- 3.2.字符串数据类型
- 四.变量
- 4.1.变量的概念
- 4.2.变量定义的格式
- 4.3.演示变量的定义案例1
- 4.4.演示变量的定义案例2
- 五.基本数据类型转换
- 5.1.自动类型转换
- 5.2.强制类型转换
- 5.3.总结
- 六.Java中的算术运算符
- 6.1.算术运算符
- 6.2.算术运算符注意事项
- 6.3.练习
- 七.赋值运算符
- 7.1.常见赋值运算符
- 7.2.赋值运算符示例
- 八.比较运算符
- 8.1.常见比较运算符
- 九.逻辑运算符
- 9.1.常见逻辑运算符
- 十.运算符的优先级
- 十二.三元表达式
- 12.1. 三元表达式语法!
- 12.2.三元表达式示例
- 十三.Scanner类的使用
- 13.1.基础语法
- 13.2.案例1
- 13.2.案例2
- 13.3.案例3
- 13.4.案例4
二.Java基础语法
2.1.关键字和保留字
关键字(keywords)是语言里事先定义的,有特别用途的单词。好比古代皇帝的名字,老百姓是不能使用和皇帝一样的名字。(不需要记,我们逐渐都学到)
Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。
在程序开发中,取名的位置一定不要和以下关键字重名,因为这些关键字被Java语言已经事先使用了!
- 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
- 特点1:关键字中所有字母都为小写
- 特点2:在编辑器中变颜色的都是关键字!
- 保留字:goto和const
2.2.标识符命名规范
- Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符。凡是自己可以起名字的地方都叫标识符。
- Java开发过程中取的名字都称为标识符,标识符命名要满足一定的规范。
命名规则:
(1)由字母、数字、下划线、$ 组成。
(2)数字不能开头。
(3)不能和系统中的关键字重名。
(4)规范:标识符区分大小写,没有长度限制,尽量做到见名知义的原则
检查下面这些是否是合法的变量名
约定俗成的规则:
- java文件的文件名(类名):首字母大写, 多个单词时,每个单词首字母大写
- 变量名:首字母小写,当有多个单词时,从第2个单词开始首字母小写(驼峰式命名)
- 方法名: 命名规则同 变量名命名规则
2.3.Java 包(package)
2.3.1.什么是Java 包(package)
Java 包是一种用于组织类和接口的机制,类似于文件夹,可以将Java程序中的类组织在一起。通过使用Java 包,我们可以对类和接口进行逻辑上的分组。
在Java中,每个源文件都属于一个包,源文件的第一行必须是package语句,用于指定该文件所属的包。例如,如果我们有一个名为com.example的包,那么我们可以在源文件的第一行添加以下内容:
package com.example;
这将使得该源文件属于com.example包。我们也可以在同一个Java文件中定义多个类,但是只能有一个public类。如果我们不指定包名,Java会将它们放在默认包中。
2.3.2.Java 包的作用
Java 包是一种用于组织和管理类和接口的机制,可以将相关的类和接口放在一起,方便管理和维护。Java 包可以避免类名冲突,控制访问级别,隐藏实现细节,提高代码复用性,统一管理来自不同程序员的代码,提高代码可读性等。
2.3.3.Java 包的示例代码
以下是一个示例代码,演示了如何使用Java 包:
package com.example;
public class MyClass {
public void printHello() {
System.out.println("Hello, world!");
}
}
在这个示例中,我们定义了一个名为MyClass的类,并将它放在com.example包中。这个类有一个名为printHello的方法,用于打印Hello, world!。
三.Java数据类型
3.1.基本数据类型
Java中定义了4类8种基本数据类型。
- 整数型:byte(字符型) short(短整型) int(整型) long(长整型)
- 小数型: float(单精度浮点型) double(双精度浮点型)
- 字符型:char(字符型)
- 布尔型:boolean(布尔型)
- byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。
- short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。
- int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。(21亿) 最常用
- long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。 较常用
- float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
- double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加,默认就是double。
- boolean:只有true和false两个取值。
- char:16位,存储Unicode码,用单引号赋值。
Java 的整型常量默认为 int 型,声明 long 型常量须后加 ‘l’ 或 ‘L’
Java 的浮点型常量默认为 double 型,声明 float 型常量,须后加 ‘f’ 或 ‘F’。
3.2.字符串数据类型
- String不是基本数据类型之一,是一个引用数据类型。
- String类型可以存储一串字符串,Char类型只能存储一个字符
由于字符串(String)类型,在java语言中使用非常广泛。因此,在定义上和基本数据类型方式一致。
四.变量
4.1.变量的概念
内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型)。该区域的数据可以在同一类型范围内不断变化,就像宾馆一样的房间一样,有房间的类型,也有房间的名字。
在Java中把相关的数据存储在变量中,方便运算。通过变量名可以简单快速地找到它存储的数据
4.2.变量定义的格式
数据类型 变量名 = 初始化值;
- 变量是通过使用变量名来访问这块区域的
- Java是强类型语言,每个变量必须先声明类型,后使用.
- 同一范围内,不允许多个个局部变量命名冲突
- 变量在使用之前必须先赋值
/**
* 02-演示变量的声明
*/
public class Demo2 {
public static void main(String[] args) {
//整数
byte b=127;
int age=18;
short s=32767;
long l=234234324234234L; //long类型需要后面添加一个l或者L 代表是长整型
//字符
char sex='男'; //char在计算机底层存储的实质存储是数字, 可以存单个字符 需要用单引号引起来
char c='a'; //可以存单个字符 需要用单引号引起来
//小数
float f=123.45F; //float需要添加一个f或者F 代表是单精度 默认是double的
double d=123.4545D; //double默认就是 可以填加D或者d表示,可以省略
//布尔
boolean b1=true; //true表示真 false代表假 只能取值true/false
}
}
4.3.演示变量的定义案例1
- 使用变量存储以下MP3信息,并打印输出
品牌(brand):爱国者F928
重量(weight):12.4
电池类型(type):内置锂电池
价格(price):499
4.4.演示变量的定义案例2
使用变量存储数据,实现个人简历信息的输出
5.1.自动类型转换
容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:
- 表达式的数据类型自动提升
•所有的byte型、short型和char的值将被提升到int型。
•如果一个操作数是long型,计算结果就是long型;
•如果一个操作数是float型,计算结果就是float型;
•如果一个操作数是double型,计算结果就是double型。
- 判断一个表达式结果最终是什么类型。只需要观察这个表达式最大的类型就可以,因为别的类型都会往较大的数据类型上转化。
int i = 123;
long l = i; //自动转换,不需强转
float f = 3.14F;
double d = f;
5.2.强制类型转换
将容量大的数据类型赋值为容量小的数据类型的时候,需要强制类型转换,强制类型转换的时候有可能会丢失精度。
int b = (int)10.2;
double a = 10;
int c = (int)a;
5.3.总结
小转大,自动!自动类型转换(也叫隐式类型转换)
大转小,强转!强制类型转换(也叫显式类型转换)
6.1.算术运算符
6.2.算术运算符注意事项
- 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:
int x=3510; x=x/1000*1000;
x的结果是? - “+”除字符串相加功能外,还能把非字符串转换成 字符串.例如:
System.out.println("5+5="+5+5);
//打印结果是?
6.3.练习
- 取出一个整数的千位上的数
- 浮点数
- 取出整数部分
- 取出小数部分
- 浮点数 四舍五入取整 四舍五入取两位小数
7.1.常见赋值运算符
7.2.赋值运算符示例
8.1.常见比较运算符
九.逻辑运算符注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
注2:比较运算符“==”不能误写成“=”
注3使用比较运算符的时候,要求两种数据类型必须一致。(整数类型会有自动提升的能力)
9.1.常见逻辑运算符
- 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
- “&”和“&&”的区别:
•单&时,左边无论真假,右边都进行运算;
•双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。 - “|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false
表达式(3+40%6)>(9/2*3)的结果是什么?
十.运算符的优先级- 单目运算符包括! ~ ++ --,优先级别高
- 优先级别最低的是赋值运算符
- 可以通过()控制表达式的运算顺序,()优先级最高
- 从右向左结合性的只有赋值运算符、三目运算符和单目运算符
- 算术运算符 > 关系运算符 > 逻辑运算符
12.1. 三元表达式语法
也称为:三目运算符或三元运算符
12.2.三元表达式示例
- 获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。
int x = 1;
int y = 2;
int z;
z = x > y ? x : y;
System.out.println(z); //2
- 判断一个数是奇数还是偶数。
int x=5;
System.out.println((x%2==0?"偶数":"奇数"));
- 使用三元表达式 求出三个数中最大的数
13.1.基础语法
- 使用Scanner可以接收用户键盘输入的字符
- 使用Scanner的步骤
- Scanner类常用的方法
- next()
- nextInt()
- nextDouble()
- nextLine()
13.2.案例1
程序要求:读入圆柱体的半径和高,并使用下列公式计算圆柱的体积:
面积=半径 x 半径 x π
体积= 面积 x 高
功能:计算圆柱体的体积
13.2.案例2
程序要求:编写程序,从控制台读入double型的摄氏温度,然后将其转换为华氏温度,并且显示结果。
转换公式如下所示:
![fahrenheit = (9/5.0) * celsius +32 (华氏度= (9/5.0) * 摄氏度+32)]()
功能:将摄氏温度转换为华氏温度
13.3.案例3
程序要求:编写程序,提示用户输入分钟数,然后显示这些分钟数代表多少年和多少天
为了简化问题,假设一年365天。
运行结果示例:
请输入分钟数:1000000
1000000分钟为1年零 329天!!!
13.4.案例4
键盘输入四位数字的会员卡号
使用“/”和“%”运算符分解获得会员卡各个位上的数字
将各个位上数字求和