文章目录
前言
java基础知识框架如下
一、Java常用术语
JDK:java develop kit(java开发工具包)
JRE:java runtime envrionment(Java运行环境),包含JVM和Java程序核心类库等
Java开发工具:编译工具(javac.exe)、打包工具(jar.exe)等
JVM:java virtal machine(Java虚拟机),用于运行Java程序
JDK=JRE+Java开发工具
二、cmd命令行工具
1.常用的DOS命令
常用的DOS命令如下
2.java文件运行过程
编写的java程序需要经过编译(javac.exe)和运行(java.exe)操作实现功能:
3.cmd命令中编译运行java程序
首先通过“cd”命令进入java程序所在目录
然后输入“javac 源文件名.java”命令进行编译,生成“字节码文件名.class”字节码文件
字节码文件名与类名相同,有几个类就生成几个字节码文件
最后输入“java 字节码文件名”命令运行字节码文件,实现功能
三、Java语言基础
1.注释
java编程中的注释方法分为单行注释、多行注释、文档注释
其中单行注释和多行注释:内容不参与编译
文档注释:内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档
cmd操作命令如下:
2.类
在一个Java源文件中可以声明多个类class,但是,只能最多有一个类声明为public类型。而且,要求声明为public的类的类名必须与源文件名相同。
3.第一个Java程序
/*
1.程序的入口是main()方法,格式是固定的,有两种书写方式
2.输出语句:
System.out.println();先输出,后换行
System.out.print();只输出,不换行
3.每一行执行语句都以“;”结束
4.编译以后,会生成一个或多个字节码文件,字节码文件名与类名相同,有几个类就会生成几个字节码文件
*/
public class HelloWorld{
//public static void main(String args[])
public static void main(String[] args){
System.out.println("Hello,World!");
System.out.print("Hello,World!");
System.out.print("");//换行
}
}
class Person{
}
class Person{
}
4.常用的Java开发工具
(1)文本编辑工具
记事本
UltraEdit
EditPlus
TextPad
NotePad
(2)Java集成开发环境(IDE)
JBuilder
NetBeans
Eclipse(常用)
MyEclipse
IntelliJ IDEA (常用)
5.变量
变量名命名规范:
非必要,但最好遵守,增加代码可读性
/*
1.java定义变量的格式:数据类型 变量名=变量值;
or: 数据类型 变量名;//变量的声明
变量名 = 数值;//变量的赋值
*/
class VariableTest
{
public static void main(String[] args)
{
int myAge = 12;//变量的定义
System.out.print("我的年龄:");
System.out.println(myAge);//变量的使用
int myNumber;//变量的声明
myNumber = 2001;//变量的赋值
System.out.print("我的号码:");
System.out.println(myNumber);//变量的使用
float f1 = 12.3f;//定义float类型变量时,要以“f”或“F”结尾
System.out.println(f1);
double d1 = 123.3;
System.out.println(d1);
char c1 = 'a';//定义char型变量,通常使用一对'',内部只能写一个字符
//c1 = 'AB';//报错
System.out.println(c1);
//char型变量还可以表示转义字符
char c2 = '\n';//换行符
System.out.println(c2);//换行
char c3 = '\t';//制表符
System.out.print("hello"+c2);//等同于System.out.println('hello');
System.out.println("world");
//char型变量还可以直接使用Unicode值来表示字符型常量
char c4 = '\u0043';//0043是Unicode值=c
System.out.println(c4);
//布尔型
boolean bb1 = true;
System.out.println(bb1);//输出结果true
}
}
Tip:
@1.整型:byte(1字节=8bit)\short(2字节)\int(4字节)\long(8字节)
浮点型:表示带有小数点的数值:float(4字节)、double(8字节)
定义浮点型变量通常用double
@2.byte范围:-128~127
@3.声明long型变量,必须以“l”或“L”结尾
long a1 = 3434343434L;
@4.声明float型变量,必须以“f”或“F”结尾
@5.字符型:char(1字符=2字节):定义char型变量,通常使用一对‘ ’,内部只能写一个字符。
表示方式:1.声明一个字符。2.转义字符。3.直接使用unicode值来表示字符型常量。
@5.布尔型:boolean,只能取两个值:true、false
6.基本数据类型之间的运算规则
1)自动类型提升
表示数的范围:byte、char、short<int<long<float<double
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型
特别的:当byte\char\short三种类型做运算时结果为int
容量的大小指的是,表示数的范围的大小
2)强制类型转换
强制类型转换:自动类型提升运算的逆运算
使用(转换后类型)将类型转换
/*
强制类型转换:自动类型提升运算的逆运算
*/
class VariableTest3
{
public static void main(String[] args)
{
double d1 = 12.3;
double d2 = 12.6;
int i1 = (int)d1;//截断操作,取整,非四舍五入
System.out.println(i1);//i1=12
int i2 = (int)d2;//截断操作,取整,非四舍五入
System.out.println(i1);//i2=12
long l1 = 123;
short s1 = (short)l1;
}
}
6. 字符串string
/*
1.String属于引用数据类型
2.声明String类型变量时,使用一对""
3.String可以和七种基本数据类型运算, 且运算只能是连接运算:+
*/
class StringTest
{
public static void main(String[] args)
{
String s1 = "hello world";
System.out.println(s1);
int number = 2021;
String numberStr = "学号:";
boolean b1 = true;
String info = numberStr + number;//+:连接运算
System.out.println(info);
String info2 = info + b1;
System.out.println(info2);
}
}
7.运算符
常见运算符如下:
%:取余运算,结果符号与被模数(左侧)符号相同
8.逻辑运算符(布尔型数据运算)
1.&:逻辑与;&&:短路与;
两者运算结果相同,但逻辑与要继续后面的运算。短路与不会继续后面的运算
boolean b1 = true;
int num1 = 10;
if(b1 &&(num1++ > 0))
{
System.out.println("我现在在北京");
}else
{
System.out.println("我现在在南京");
}
System.out.println("num1 ="+ num1);//11 &逻辑与要进行后面的操作
boolean b2 = true;
int num2 = 10;
if(b2 &&(num2++ > 0))
{
System.out.println("我现在在北京");
}else
{
System.out.println("我现在在南京");
}
System.out.println("num2 ="+ num2);//10 &&短路与不会进行后面的操作
2.|:逻辑或;||:短路或;
两者运算结果相同,但逻辑或要继续后面的运算。短路或不会继续后面的运算
9.使用Scanner从键盘获取多种类型数据
常用方法:
1)next():输入并返回有效字符串(空格、换行符等无效不算)
2)nextLine():输入并返回任意字符(空格、换行符等也算)
3)nextInt()/nextDouble()/nextBoolean():输入并返回相应数值类型
/*
如何从键盘获取不同类型的变量:需要使用Scanner类
具体实现步骤:
1.导包:import java.util.Scanner;
2.Scanner的实例化
3.调用Scanner类的相关方法,来获取指定类型的变量
*/
import java.util.Scanner;//导包
class ScannerTest
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);//实例化
System.out.println("请输入您的姓名:");//调用相关方法,获取指定类型的变量
String name = scan.next();
System.out.println("您的名字是:"+name);
System.out.println("请输入您的年龄:");
int age = scan.nextInt();
System.out.println("您的年龄是:"+age);
System.out.println("请输入您的体重:");
double weight = scan.nextDouble();
System.out.println("您的体重是:"+weight);
System.out.println("你是否相中我了呢?(true/false)");
boolean islove = scan.nextBoolean();
System.out.println("您的答案是:"+islove);
}
}
10.分支结构语句
(1)if-else语句
class IfElseTest
{
public static void main(String[] args)
{
int age = 23;
if (age < 0)
{
System.out.println("您输入的数据非法");
}else if(age < 18){
System.out.println("青少年时期");
}else if(age < 35){
System.out.println("青壮年时期");
}else if(age < 60){
System.out.println("中年时期");
}else{
System.out.println("老年时期");
}
}
}
(2)switch-case
语句格式:
switch(表达式){
case 常量1:
语句1;
// break;
case 常量2:
语句2;
// break; … …
case 常量N:
语句N;
// break;
default:
语句;
// break;
}
说明:
1.根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case 结构中,调用其执行语句。当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾结束为止。2.switch结构中的表达式只能是如下的6种类型之一:byte、short、char、int、枚举类型、string。
3.case之后只能声明常量,不能声明范围。
/*
switch-case语句结构
*/
import java.util.Scanner;//导包
class SwitchCaseTest
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);//实例化
System.out.println("请输入数字:");
int number = scan.nextInt();
switch(number)
{
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
break;
case 2:
System.out.println("two");
break;
default:
System.out.println("null");
}
}
}
/*Switch-Case例题1
利用switch-case结构写程序:输入成绩,如果低于60为不及格,高于60为及格。
注:如果switch-case中的多个case执行语句相同,那么可以合并
*/
import java.util.Scanner;//导包
class SwitchCaseTest1
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);//实例化
System.out.println("请输入您的成绩");
int score = scan.nextInt();
switch(score/10)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("不及格");
break;
case 6:
case 7:
case 8:
case 9:
case 10:
System.out.println("及格");
break;
}
//更优化的方法
switch (score/6)
{
case 0:
System.out.println("不及格");
break;
case 1:
System.out.println("及格");
break;
}
}
}
(3)IF-else与Switch-case区别
a.凡是可以使用switch-case的结构,都可以转换成if-else.反之不成立。
b.我们写分支结构时,当发现即可以使用switch-case(同时,case情况不是很多),又可以使用if-else时,优先考虑switch-case
11.循环结构
(1)for循环
/*
一、循环结构四要素
1.初始条件
2.循环条件
3.循环体
4.迭代条件
二、for循环的结构
for(1;2;4)
{
3;
}
*/
class ForTest
{
public static void main(String[] args)
{
for(int i=1;i<5;i++)
{
System.out.println("Hello World!");
}
}
}
(2)while循环
/*
while循环结构:
while()
{
}
*/
class WhileTest
{
public static void main(String[] args)
{
int i = 1;
while(i <= 100)
{
if(i%2==0)
{
System.out.println(i);
}
i++;
}
}
}
(3)do-while
总结
小白开始入门java,先是用EditPlus编程,基础知识篇,后续会继续更新。