1.计算机
-
计算机硬件:cpu,内存,显卡,键盘,鼠标,显示器…
-
裸机:只有硬件没有软件的机器
硬件离不开软件,软件也离不开硬件
-
计算机软件
-
系统软件:windows,unix(linux),ios,android…
系统软件用于驱动硬件设备。
-
应用软件:
- B/S架构的软件,不如京东,淘宝…(B - browser,浏览器,S - server,服务器)
- C/S架构的软件,比如QQ,腾讯会议…(C - client,客户端,S - server,服务器)
-
-
程序:数据+算法就是程序。
2.java的介绍
2.1java的历史
java之父:James Gosling Osk
java1995年问世,2004年Java登录火星,2009年Oracle以超过70亿美元交易总值收购了Sun
java官网:https://www.oracle.com/java/technologies/downloads/
2.2JAVA奇数体系架构
-
JAVA ME:
Java ME (Java Platform Micro Edition) 称之为 Java 平台微型版 , 为机顶盒、移动电话和PAD等嵌
入式消费电子设备提供的Java 解决方案。
随着3G移动智能平台时代的到来,特别是以Java 为核心语言的Android
智能平台的迅速普及,Java ME 已经走向淘汰。 -
JAVA SE:
Java SE (Java Platform Standard Edition) 称之为 Java 平台标准版,是Java平台基础。
—Java SE 包含了Java应用所需的基础环境和核心类库。
—Java SE 还定义基于桌面应用的基础类库,通过这些类库 ,我们可以编写出类似于像Office那样
丰富多彩的桌面应用 -
JAVA EE:
Java EE (Java Platform Enterprise Edition) 称之为 Java 平台企业版。
Java EE 构建在 Java SE 基础之上,用于构建企业级应用。所谓的企业应用
是指那些商业组织、大型企业而构建的应用系统,例如电信的“计费系统”、
银行的“网银系统”、企业的“客户关系管理系统”等等
2.3 安装JDK
-
Java SE Development Kit : JDK , java的开发工具包
-
JDK中包含: JDK , JRE , JVM
JDK — Java Development Kit (Java开发工具包)
JRE — Java Runtime Environment (Java运行环境)
JVM — Java Virtual Machines (Java虚拟机)
-
JAVA跨平台特征:
Java官方提供了针对不同平台的JVM软件,这些JVM遵循相同的标准,只要是标准的.class文件,就
可以在不同的操作系统上运行,且运行结果一样,这样,就实现了所谓的“一次编译到处运行”
在不同的操作系统上,安装不同版本的JDK, 也就安装了适合于该操作系统的JVM , 然后JVM可以运
行任意字节码文件
2.4 java语言需要先编译, 然后再解释执行。
-
程序员编写的Java源文件(.java)首先要经过编译,生成字节码文件(.class)
通过javac命令,把.java文件,编译为.class文件。
-
Java程序的运行需要JVM的支持。JVM是一个软件,安装在操作系统中,为字节码文件提供运行环
境。
通过java命令,运行.class文件。
- JAVA的编译期和运行期
long k = 24 * 60 * 60 * 1000;//1天的毫秒。 编译的时候,会把数据结果计算出来 ,因为全部都是字面量(直接量)。
int a = 24;
long k1 = a * 60 * 60 * 1000; // 编译的时候,不会把数据结果计算出来。 因为表达式中包含了变量。
3.IDE:集成开发环境
-
idea是目前主流的IDE开发环境
-
所谓集成开发环境(IDE,Integrated Development Environment)是专门为程序员提供的应用软件,这些软件往往具备功能强大的图形界面。在IDE的辅助下,程序员可以更加高效的完成编译、调试、提交、重构等工作。作为一个合格的程序员应该对主流的IDE工具有较高的熟练度,但也要防止“过分依赖IDE”等问题。
4.idea的使用
package day1; // package - 包,解决命名冲突。 包名+类名是类的全名。
// 类: 类型 , 数据类型。 如果类名相同,那么就看包名是否相同。 如果“包名+类名”都相同,就表示为同一个类型。
// java 是强数据类型语言。 不同的数据类型,有不同的操作(属性不同,方法不同)。
// 练习: 输入一个学生的信息(姓名,年龄,性别, 爱好) ,然后输出这些信息。
import java.util.Scanner; // import: 导入 , “java.util.Scanner”一个类型。 (先导入,后使用。)
// 创建一个class(类型)。
// public : 公开的,就是访问权限公开(同包中,不同包中,父子关系。)。
// *** public修饰的类的名字必须和文件名相同。
// *** 一个文件夹中可以有多个class.
public class Hello {
// static : 静态的 , 静态方法中只能直接调用静态方法。
// void : 无返回值。 定义的方法,如果没有数据要返回(return), 那么方法定义的时候设置返回值类型为void.
// String[] args : 数组的定义。 方法的参数。
// main : main方法,是java程序运行的入口函数。
// *** java.lang包中的所有类型,不需要导入,就可以使用。
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入姓名:");
String name = scanner.nextLine(); // nextLine : 接收字符串. 回车换行也属于字符串。
System.out.println("请输入年龄:");
int age = scanner.nextInt(); // nextInt : 输入整数,接收整数。 (输完整数后,输入了回车.)
System.out.println("请输入性别:");
String sex = scanner.next();// next: 接收字符串,但是不接回车换行。
// String sex = scanner.nextLine(); // 此处的nextLine 接收了上一个输入语句的回车换行。用户就没有机会输入数据了。
System.out.println("请输入爱好:");
String hobby = scanner.next();
// String hobby = scanner.nextLine();
System.out.println("---------个人信息--------");
System.out.println(name + "今年:" + age +"岁 , 是个:" + sex
+ ", 爱好:" + hobby);
}
// int : 表示方法的返回值是一个整数, 方法内部就需要使用return关键字,返回一个整数。
public static int sum(int a ,int b){
return a + b;
}
}
String name = scanner.nextLine(); //nextLine:接收字符串, 回车换行也属于字符串
String sex = scanner.next(); // next:接收字符串,但是不接受换行
5.java中的注释
-
要求:关键代码都需要写注释
- 类前面的注释:类的功能介绍,方法前的注释:方法的功能介绍,参数返回值的介绍,成员变量的注释:解释变量用途
- 理清思路
- 便于自己和其他人阅读代码
-
//:单行注释
-
/*…*/:多行注释
-
/**…*/:文档注释,可以生成文本文件。
/**
* 求两个数据的和
* @param a 参与运算的一个数据
* @param b 参与运算的另一个数据
* @return 返回两个数据的和
*/
public static int sum(int a ,int b){
return a + b;
}
6.变量的使用
6.1什么是变量
变量是指代在内存中的一块存储空间,用于存储程序运算过程中需要用到的数据
6.2java变量的声明
变量声明的语法规则:变量类型 变量名字;
java语言语法规定,变量在使用前,必须声明,否则会有“编译错误”
public static void main(String[] args){
a = 1; //编译错误,变量没有声明
int age = 30;
aeg = 30;//编译错误
System.out.println(aeg);
}
如果多个变量的类型相同,可以在一条 语句中声明,中间用逗号分隔
1.变量类型必须一致,才可以一条语句声明多个变量。
2.多个变量中间是“逗号”分隔
public static void main(String[] args){
int a,b;
//声明了两个变量,名字分别为a,b
int c = 3,d,e;
//声明了三个变量。c赋值为3,d,e没有赋值
}
6.3声明之后的变量,先初始化,再使用
Java 语言规定变量在使用之前必须初始化,即必须给该变量赋予特定的值
// 定义变量 , 给变量赋值
// ** = 在程序中,用于赋值
// ** == 在程序中,表示判断是否相等
public static void main(String[] args) {
// int age; // 声明了一个变量 ,表示用户的年龄
// System.out.println(age); // 变量先初始化,然后再使用
age = 20;
System.out.println(age); // 先初始化,再使用
double score = 95.5; // 声明变量的时候,就初始化
System.out.ptrintln(score); // 先初始化再使用
// 数组的使用
int[] arr; //声明了变量
arr = new int[10]; // 初始化变量
double[] arr1 = {10.1,10.2,10.3}; // 声明变量的时候,给变量赋值
}
6.4变量命名规则:
-
变量的命名规则–必须遵守
-
可以有字母,数字,“_”(下划线)和“&”(美元符)组成
-
首字符不能以数字开头
-
Java是大小写敏感的语言,命名变量是需要注意:
- 不能使用Java保留字(Java语言规定好的,有特殊含义的字符:public static void…)
-
中文可以作为变量名字,但是不推荐使用
-
Java变量命名最好能“见名知意”
-
Java编程规范要求:变量的命名需要采用“驼峰命名法“,即如果Java变量名字由多个英语单词组成,除第一个单词首字母小写外,其他的单词,需要首字母大写,其余的字母小写。
例如:
salary
teacher
englishTeacher
littleStudentName
-
public static void main(String[] args){
int a,b;
// int c = a + b; // 编译错误:a+b使用的时候没有初始化。
int a1 = 10, a2 = 10;
int c1 = a1 + a2;
int 123 = 100; // 纯数字不能作为变量名
int *a = 100; // 特殊字符不能作为变量名
int 中国人 = 10000000; // 不建议使用中文命名
int A1 = 100; // 大小写敏感
int public = 100; // 关键字不能作为变量名
int public1 = 100;
// int _ = 100; // 一个这个_(下划线)符号不能作为变量名
int _1 = 100;
int $ = 100;
// 电脑的描述: 硬盘多大,内存多大,处理器的类型,显卡的类型
int hardDisk = 512;
int memory = 16;
String cpu = "xxxx";
String gpu = "xxxx";
// 人的介绍:姓名,电话,生日,住址
String name = "xx";
String phone = "12321";
String birthday = "2000-10-5";
String address = "xxx";
}
6.5java中的关键字
abstract,assert,boolean,break,byte,continue,case,catch,char,class,const,double,default,do,extends,else,enum,final,finally,float,for,goto,long,if,implements,import,native,new,null,instanceof,int,interface,package,private,protected,public,return,short,static,strictfp,super,switch,synchronized,this,while,void,throw,throws,transient,try,volatile