文章目录
一、Java简介
- Java是一门面向对象的程序设计语言
- JVM :Java虚拟机(JVM是Java平台无关性实现的关键)
- JDK :Java语言的软件开发工具包
Javac------编译器,将源程序转成字节码
Java------运行编译后的Java程序(.class后缀) - JRE (Java运行时环境)
包括Java虚拟机(JVM)、Java核心类库和支持文件
如果只需要运行Java程序,下载并安装JRE即可;如果要开发Java软件,需要下载JDK;在JDK(面向开发人员)中附带有JRE(面向使用者)
- Java平台
- java的程序结构
java
public class HelloImooc{
public static void main(String[] args){
System.out.println("Hello,Imooc!");
System.out.print("我爱学Java!");
}
}
// 编译命令:javac HelloImooc.java
// 执行命令:java HelloImooc
二、Java常量与变量
1、标识符
如类名:HelloWord
2、关键字
3、变量
4、类的命名规则
满足Pascal命名法规范:当类名由一个单词组成时,首字母大写;当类名由多个单词组成,每个首字母都要大写。
5、数据类型
6、基本数据类型字面值
7、变量的定义与初始化
变量声明格式:数据类型 变量名;
例:
int n; 声明整型变量n
long count ; 声明长整型变量count
java
public class FloatDemo {
public static void main(String[] args) {
// 定义一个单精度浮点类型变量
float f=1234.328f;
System.out.println("f="+f);
// 定义一个双精度浮点类型变量
double d=5623.465;
System.out.println("d="+d);
// 将整型赋值给浮点型
double d1=123;
System.out.println("d1="+d1);
// 变量间的赋值
double d2=d;
System.out.println("d2="+d2);
}
}
输出:
f=1234.328
d=5623.465
d1=123.0
d2=5623.465
8、ASCII码和Unicode编码
Unicode编码支持世界上所有的字符集
Unicode表示法,在值前加前缀\u
java
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1="";
System.out.println("s1="+s1);
String s2="Hello";
System.out.println("s2="+s2);
String s3="\u005d\u005f";
System.out.println("s3="+s3);
//定义一个包含unicode字符的字符串
String s4="\u005d\u005fB";
System.out.println("s4="+s4);
//定义一个包含空格的字符串
String s5="Hello imooc!";
System.out.println("s5="+s5);
}
}
输出:
s1=
s2=Hello
s3=]_
s4=]_B
s5=Hello imooc!
9、转义字符
java
public class VarDemo {
public static void main (String[] args){
//定义两个整型变量x,y
int x=3,y=5;
System.out.println("x="+x);
System.out.println("y="+y);
//关于换行问题
System.out.print(""+x+'\t'+y+'\n');
System.out.print(x+","+y);
System.out.println("\n\'"+x+"\'");
//定义一个汉字字符
char ch='慕';
System.out.println(ch);
//不建议中文作为变量名
char 中文='中';
System.out.println(中文);
//用科学计数法表示浮点型数据
double d=1.23E5;
float f=1.23e5f;
double d1=.2;
System.out.println("d="+d);
System.out.println("f="+f);
System.out.println("d1="+d1);
}
}
输出:
x=3
y=5
3 5
3,5
'3'
慕
中
d=123000.0
f=123000.0
d1=0.2
10、类型转换
类型转换分为自动类型转换和强制类型转换
如果A类型的数据表示范围比B类型大,则将A类型的值赋值给B类型,需要强制类型转换
强制数据类型转换格式:(数据类型)数值
java
public class TypeExchange {
public static void main(String[] args) {
// char类型和int类型之间的转换
char c=(char)65536;
int n;
n=c;//隐式类型转换
c=(char)n;
//整型和浮点型的类型转换问题
int x=100;
long y=x;
x=(int)y;
float f=100000000000000L;
System.out.println("f="+f);
float f1=103948583923948L;
System.out.println("f1="+f1);
}
}
输出:
f=1.0E14
f1=1.03948585E14
11、常量
java
final double PI=3.14159;
final double MIN_VALUE=0;
三、Java运算符
运算符: 算术运算符、赋值运算符、关系运算符、逻辑运算符、条件运算符、位运算符
1、算术运算符
2、赋值运算符
3、关系运算符
比较运算符用于判断两个数据的大小,如大于
比较的结果是一个布尔值
关系运算符主要用于条件和循环语句中的判断条件
java
import java.util.Scanner;
public class ConditionDemo2 {
public static void main(String[] args) {
//例:判断一个整数是奇数还是偶数?并将结果打印输出。
//定义一个变量存放数据点
//int n=11;
//从键盘接收数据
System.out.println("请输入一个整数:");
Scanner s=new Scanner(System.in);
int n=s.nextInt();
if(n%2==0) {
System.out.println(n+"是偶数");
}else {
System.out.println(n+"是奇数");
}
}
}
输出:
请输入一个整数:
6
6是偶数
4、逻辑运算符
逻辑运算符用来连接个或多个条件,判断这些条件是否成立
逻辑运算符的结果是布尔类型
5、条件运算符
6、运算符的优先级
用if-else语句判断输入的年份是否为闺年
闺年的判断规则:能被4整除但不能被100整除的年份,或者能被400整除的年份。
java
import java.util.Scanner;
public class LeapYearDemo {
public static void main(String[] args) {
System.out.println("请输入年份:");
Scanner sc=new Scanner(System.in);
int year=sc.nextInt();
if((year%4==0)&(year%100!=0)|(year%400==0)) {
System.out.println(year+"是闰年!");
}else {
System.out.println(year+"不是闰年!");
}
}
}
- 总结
四、Java选择结构
1、三大流程控制语句
顺序、选择、循环
- 选择结构:if结构、if-else结构;多重if;嵌套if;switch结构。
- 循环结构:while、do-while、for;循环嵌套。
java
import java.util.Scanner;
public class ScoreAssess {
public static void main(String[] args) {
/*
编写一个程序,根据考试成绩,输出相应的评定信息。
成绩大于等于90分,输出"优'
成绩大于等于80分且小于90分,输出"良'
成绩大于等于60分小于80分,输出"中'
成绩小于60分,输出"不及格
*/
System.out.println("请输入成绩:");
Scanner sc=new Scanner(System.in);
int score=sc.nextInt();
if(score>=90) {
System.out.println("优");
}
else if(score>=80) {
System.out.println("良");
}
else if(score>=60) {
System.out.println("中");
}
else{
System.out.println("不及格");
}
}
}
2、用于相互比较的数据类型
java
//用于相互比较的数据类型
int n=5;//定义整型变量n
long I=10L;//定义长整型变量L
double d=5;//定义双精度浮点型变量d
float f=5;//定义单精度浮点型变量f
char ch='a';//定义字符型变量ch
String s="a";//定义字符串型变量s
//整型之间进行比较
System.out.println(n>I);
//浮点型之间
System.out.println(f==d);
//整型与浮点型进行比较
System.out.println(n==d);
System.out.println(I<f);
//整型与字符型进行比较
System.out.println(n<ch);
//以下会报错
//整型、字符型与字符串之间进行比较
System.out.println(n==s);
//浮点型与字符串之间进行比较
System.out.printIn(f==s);
//字符型与字符串之间进行比较
System.out.printin(ch==s);
3、switch语句
switch判断条件必须是常量值
java
import java.util.Scanner;
public class WeekDemo1 {
public static void main(String[] args) {
// 从键盘输入1-7之间的任意数字,分别输出对应的信息
Scanner sc = new Scanner(System.in);
System.out.println("请输入1~7之间的数字:");
int n = sc.nextInt();
switch (n) {
case 1:
System.out.println("星期一");break;
case 2:
System.out.println("星期二");break;
case 3:
System.out.println("星期三");break;
case 4:
System.out.println("星期四");break;
case 5:
System.out.println("星期五");break;
case 6:
System.out.println("星期六");break;
case 7:
System.out.println("星期日");break;
default:
System.out.println("该数字超出了1~7的范围!");
}
}
}
java
import java.util.Scanner;
public class WeekDemo2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入表示星期的英文单词:");
String week=sc.next();
//把字符串中的字符全部改为大写
week=week.toUpperCase();
switch (week) {
case "MONDAY":
System.out.println("星期一");break;
case "TUESDAY":
System.out.println("星期二");break;
case "WEDNESDAY":
System.out.println("星期三");break;
case "THURSDAY":
System.out.println("星期四");break;
case "FRIDAY":
System.out.println("星期五");break;
case "SATURDAY":
System.out.println("星期六");break;
case "SUNDAY":
System.out.println("星期日");break;
default:
System.out.println("单词输入错误!");
}
}
}