目录
1.1计算机基础
电脑是一种能够按照程序运行,自动,高速处理海量数据的电子设备。由硬件和软件组成,没有安装软件的计算机称为裸机,常见形式有计算机,笔记本,大型计算机
组成:通常由CPU、主板、内存、电源、主机箱、硬盘、显卡、键盘、鼠标、显示器等多个部件组成。
软件:计算机软件可使计算机按照事先预定好的顺序完成待定的功能划分为系统软件和应用软件
数据:计算机所能识别的代码
指令:对数据的具体操作
各种计算机语言:C、C++、Python、Java等
图形交互:图形化界面和命令行方式
1.2快捷键
Ctrl+A | 全选 |
Ctrl+C | 复制 |
Ctrl+V | 粘贴 |
Ctrl+X | 剪切 |
Ctrl+W | 关闭选项卡/窗口 |
Ctrl+P | 打印 |
Ctrl+F | 查找 |
Ctrl+N | 新建文件 |
Win+E | 打开资源管理器 |
Win+R | 打开运行窗口 |
Win+I | 打开Windows设置 |
Win+P | 打开投影模式 |
Win+D | 快速切换桌面 |
Win+L | 快速锁屏 |
Alt+F4 | 强制关闭程序 |
shift+Delete | 强制删除,不走回收站 |
Tab | 制表符/自动补全 |
Win+R输入cmd | 打开DOS控制台 |
1.3DOS命令
D: | 盘符切换 |
dir | 列出当前目录下的文件以及文件夹 |
md | 创建目录 |
rd | 删除目录 |
cd | 改变指定目录(进入目录) |
cd.. | 返回上级目录 |
cd/ | 退回到根目录 |
del | 删除文件 |
exit | 退出dos命令行 |
cls | 清屏 |
notepad | 记事本 |
mspaint | 画图板 |
calc | 计算机 |
rd/s | 询问删除 |
rd/q/s | 直接删除 |
1.4Java语言基础
詹姆斯.高斯林
Sun公司任职,1990年开发出OAK语言,95年改名为Java并开始推广
Sun公司于2010年被Oracle公司收购
Java语言版本:
JavaSE(JavaStandard Edition)标准版 是为开发普通桌面和商务应用程序提供的解决方案
JavaEE(Java Enterprise Edition):企业版 是为开发企业环境下的应用程序提供的一套解决方案
JavaME(Java Micro Edition):微型版 是为开发电子消费类产品和嵌入式设备提供的解决方案
Java语言特点:简单性、面向对象、分布式管理、健壮性、结构中立、开源、跨平台、解释性、高性能、多线程、多台、安全性。
跨平台:通过Java语言编写的应用程序在不同的系统平台上都可以运行,不同的操作系统安装不同的Java虚拟机(JVM JavaVirtual Machine)
JRE:(Java Runtime Environment)
包括Java虚拟机和Java程序所需的核心类库等,只运行,只需安装jre就可以
JDK:(Java Development Kit Java开发工具包)
提供给开发人员使用,包含了Java开发工具,也包含了JRE,开发工具:编译工具(javac.exe) 打包工具(jar.exe)
bin | 存放Java开发工具 |
db | 数据库支持文件Database |
include | 底层C语言支持 |
jre | 运行环境 |
src | 源代码包压缩文件 |
javafx-src | 新一代的Java图形化界面开发工具包编译AWT Swing |
1.5编写步骤
首先编写Java源代码程序,扩展名为.java
命令行中javac 编译,文件名和类名相同
Java命令解释运行
path环境变量的配置https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
1.6代码实现
public class Work1_1{
/*
求近似值PI
PI是double类型,分子1也用double类型1.0
*/
public static void main(String[] args){
double p1=4*(1.0-1.0/3+1.0/5-1.0/7+1.0/9-1.0/11);
double p2=4*(1.0-1.0/3+1.0/5-1.0/7+1.0/9-1.0/11+1.0/13);
System.out.println(p1);
System.out.println(p2);
}
}
public class Work1_2{
/*
计算跑步者的速度
先求出以英里为单位的长度
再求出以小时为单位的时间
计算速度
输出
*/
public static void main(String[] args){
double mile=14.0/1.6;
double hours=45.0/60+30.0/60.0/60;
double speed=mile/hours;
System.out.println("跑步者以每小时"+speed+"英里的速度前进");
}
}
public class Work1_3{
//根据Cramer规则求解2*2线性方程
//3.4x+50.2y=44.5
//2.1x+0.55y=5.9
public static void main(String[] args){
double x=(44.5*0.55-50.2*5.9)/(3.4*0.55-50.2*2.1);
double y=(3.4*5.9-44.5*2.1)/(3.4*0.55-50.2*2.1);
System.out.println("x:"+x);
System.out.println("y:"+y);
}
}
2、Java语言基础
2.1关键字
被Java语言赋予特殊含义的单词,字母全部小写,goto和const作为保留存在,不推荐使用
2.2定义标识符规范
1、包名所有字母一律小写,单词与单词之间用.连接
2、 类名和接口名每个单词的首字母都要大写
3、 常量名所有字母大写,单词之间用下划线连接
4、 变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写
5、应该尽量使用有意义的英文单词来定义标识符
2.3注释
提高程序阅读性,便于后面的调试
1、单行注释 //解释
2、多行注释 /*解释*/ 多行注释中不能有多行注释
3、文档注释 /**解释*/
2.4常量
常量就是在程序中固定不变的值,是不能改变的数据
整型常量:
二进制:由0和1组成的数字序列
八进制:以0开头
十六进制:以0x开头
浮点数常量:
float单精度:后面以F或f结尾
double双精度:以D或d结尾
字符常量:单引号‘’括起来,'\u000'表示空白,Java采用Unicode字符集,以\u开头
字符串常量:双引号""括起来
布尔类型:只有true和false
null常量:表示对象的引用为空
2.5进制转换
https://jingyan.baidu.com/article/495ba84109665338b30ede98.html
2.6变量
在程序执行的过程中,在某个范围内其值可以发生改变的量
格式:数据类型 变量名=常量值;
1、变量其实就是内存区域中的一个小空间
2、该空间有其物理地址值,但是不方便访问,所以用变量名去替代
3、该空间是有大小的,具体大小看具体数据类型
4、该空间的值只能在能够相互兼容的两种数据类型之间进行改变
5、常量值不是存在变量的小空间里面的,而是存在常量池
6、变量小空间里存储的仅仅是常量在常量池中的地址
注意:变量存储的仅仅是地址,常量池中常量的地址,堆内存中对象的地址
整型类型变量:
浮点类型变量:
字符类型变量:占用两个字节,0~65535
布尔类型变量:true和false
作用域:变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域不
能定义两个重名的变量。
初始化值:没有初始化值不能直接使用
2.7类型转换
自动类型转换:1、两种数据类型互相兼容
2、目标类型取值范围大于源类型取值范围
强制类型转换:当明确所得到的数据不会受损时使用(目标类型 变量名=(目标类型)(被转换的数据))
字符数据参与运算:使用ASCII值进行运算
字符串数据参与运算:将后面的数据用"+"进行连接
2.8算数运算符用法
2.9赋值运算符
2.10比较运算符
2.11逻辑运算符
2.12位运算符
2.13三元运算符
数据类型 变量名=布尔表达式?true值:false值;
使用运算符时,如果优先级记不清楚,可以使用()来提高优先级
2.14输入和输出
输入:引入包 import java.util.Scanner
扫描器扫描:Scanner scanner=new Scanner(System.in);
读取:例如 scanner.nextInt();
输出:System.out.println();有换行
System.out.print(); 无换行
System.out.printf("xxx%f",float);固定格式
2.15代码实现
import java.util.Scanner;
public class Work2_1{
/*输入半径和高
计算底面积=半径*半径*高
计算体积=底面积*高
输出
*/
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.println("Enter the radius and length of cylinder:");
double radius=scanner.nextDouble();
double length=scanner.nextDouble();
double area=radius*radius*3.14;
double volumn=area*length;
System.out.printf("The area is:%.4f",area);
System.out.println();
System.out.printf("The volumn is:%.1f",volumn);
}
}
import java.util.Scanner;
public class Work2_2{
/*读取输入的数字num
num%10取个位
num/10 num%10 取十位
num/10 num%10 取百位
num/10 num%10 取千位
*/
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.println("Enter a number beteen 0 and 1000:");
int num=scanner.nextInt();
int sum=0;
sum+=num%10;
num/=10;
sum+=num%10;
num/=10;
sum+=num%10;
num/=10;
sum+=num%10;
System.out.println("The sum of the digits is:"+sum);
}
}
import java.util.Scanner;
public class Work2_3{
/*读取总分钟数
计算年数
计算天数
输出
*/
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("Enter the number of minutes:");
long totalMinute=scanner.nextLong();
int totalDays=(int)(totalMinute/60/24);
int totalYears=totalDays/365;
int days=totalDays%365;
System.out.println(totalMinute+"minutes is approximately "
+totalYears+" and "+days+"days");
}
}
import java.util.Scanner;
public class Work2_4{
/*读取用户所输入的时区
计算小时、分钟、秒
输出
*/
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("Enter the time zone offset to GMT:");
int area=scanner.nextInt();
long time=System.currentTimeMillis();
long totalSecond=time/1000;
long totalMinute=totalSecond/60;
long totalHour=totalMinute/60;
long currentHour=totalHour%24+area;
long currentMinute=totalMinute%60;
long currentSecond=totalSecond%60;
System.out.println(currentHour+":"+currentMinute+":"+currentSecond);
}
}
import java.util.Scanner;
public class Work2_5{
/*
计算两个坐标点之间的距离
获取两个坐标点
计算距离
输出
*/
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("Enter x1 and y1:");
double x1=scanner.nextDouble();
double y1=scanner.nextDouble();
System.out.print("Enter x2 and y2:");
double x2=scanner.nextDouble();
double y2=scanner.nextDouble();
double distance=Math.pow(Math.pow(x2-x1,2)+Math.pow(y2-y1,2),0.5);
System.out.println("The distance between the two points is:"+distance);
}
}
import java.util.Scanner;
public class Work2_6{
/*计算三角形的面积
提示用户输入三个坐标点
计算面积(s=(边1+边2+边3)/2)
输出面积
*/
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("Enter three points for a triangle:");
double point1_x=scanner.nextDouble();
double point1_y=scanner.nextDouble();
double point2_x=scanner.nextDouble();
double point2_y=scanner.nextDouble();
double point3_x=scanner.nextDouble();
double point3_y=scanner.nextDouble();
double side1=Math.pow(Math.pow(point2_x-point1_x,2)+Math.pow(point2_y-point1_y,2),0.5);
double side2=Math.pow(Math.pow(point3_x-point2_x,2)+Math.pow(point3_y-point2_y,2),0.5);
double side3=Math.pow(Math.pow(point1_x-point3_x,2)+Math.pow(point1_y-point3_y,2),0.5);
double s=(side1+side2+side3)/2;
double area=Math.pow(s*(s-side1)*(s-side2)*(s-side3),0.5);
System.out.printf("The area of triangle is :%.1f",area);
}
}