第一章:初识java
1.什么是程序?:程序:对一系列动作的执行过程的描述。 计算机程序:让计算机执行某个操作或解决某个问题而编写的一系列有序指令的集合。
2.java技术平台:javaSE(基础和核心,开发桌面应用程序) javaEE(企业级应用开发,开发网站)。
3.java程序开发三步走:第一步编写源程序,第二步编译源程序(用java虚拟机把源文件编译成.class类文件),第三步计算机运行.class类程序
4.安装和配置java运行环境jdk
(jdk编写(并且能做到低配运行),jre运行)
1.下载jdk;
2.安装jdk(无注意点,傻瓜式安装(记住jdk安装路径));
3.调整环境变量(将jdk路径加到还有用户变量系统变量中Path最前面,加上分号);
4.win+r打开,输入cmd,打开命令提示符窗口。
5.输入java -version,出现版本,查看是否配置成功。
结束
5.开发一个java程序
1.编写源代码文件HelloWorld

public class HelloWorld{
 public static void main(String [] args){
 System.out.println(“HelloWorld!”);
 }
 }


2.编译源程序
(win+r打开,输入cmd,打开命令提示符窗口)
1.首先导到源代码所在的地址(一定要在资源地址下!);
2.然后输入javac HelloWorld.java,运行,地址中会出现HelloWorld.class文件;
3.运行源程序
1.输入java HelloWorld运行(运行编译后的class文件);
2.输出HelloWordl!;
6.注释
1.//单行注释
2.多行注释
/*
*
*/
7.为什么安装java运行环境jdk呢?

jre饱和了java虚拟机 即为运行环境,因为计算机无法直接解释java源代码,需要java虚拟机编译成class文件,再交由计算机执行,jre在这里充当一个翻译官的角色。jdk是开发环境。
	
	(理论上来说)
	苹果手机ios系统由C语言开发,因为C语言计算机可以直接读懂,所以苹果运行快。安卓手机系统由java开发,手机相当于小型计算机,运行时需要编译文件,所以安卓手机运行久了会卡,因为缓存有很多。

第二章:变量,数据类型,运算符
1.变量的概念:计算机所使用的的数据都是由记录来存放的,但是内存地址长且复杂,不便记忆,所以我们使用变量来代替内存地址帮助我们记忆数据。通过变量名可以简单快速的找到数据
2.java常用数据类型:
(基本数据类型8种)
(我学过的4种)
1.String 字符串类型"",int整数类型,double小数类型,char单字符’’、单整数 型,boolean布尔型
String本身是一个类,但它被当做数据类型 不然为什么S要大写
严格来说java数据类型有无数种,每个类都可以是一种数据类型
3.变量的声明和使用
int num = 0;
声明并且赋值

int num; 声明一个名称为num的int数据类型 
	num = 0;赋值

	声明一个空的东西,并没有内存地址,有值就需要内存地址了。

	变量只声明未赋值是不能被使用的,除非这个变量有默认值(创建String类,类的属性有name,这里name的默认值就为null),或者可以赋空值(如:int num=0)。
4.变量命名规则:
	1.变量首字母可以是:
		1.可以是字母
		2.可以有下划线
		3.可以是$符号
	2.其余部分:
		1.可以是数字
		2.可以是字母
		3.可以有下划线
		4.可以有美元($)符号
除以上外都不能出现在变量命名
变量名要简短、有意义,并且清楚要的表明变量的作用,通常第一个单词的首字母大写,其余单词的首字母要大写(驼峰命名规则)如:myScore(可以清楚的表明我的分数)
5.运算符
	1.赋值运算符
		1.=号的意识不是等于,而是将左边的值给右边
	2.算数运算符
		1.+,-,*,/,%,
			/只求商,%只求余(5/2,值为2;5%2,值为1)
			(5.2%2;正常取余,没有规则)	
	3.关系运算符	
		1.<,>,==,>=,<=。(如:3>2)结果为以boolean类型接受,如果判断成立为true,不成立为false
		(数学规则)
6.数据类型转换
	1.自动类型转换
	规则:1.==(等于),!=(不等于),>=,<=
		1.如果一个操作数为double型,那么整个操作式都会变为double型
		2.数值兼容(要么都是数字,不能另一个是字符串)。
		3.目标型大于源类型,小转大 (如:int a = 1 可以看做 double a =1.0)
	2.强制类型转换
		大转小(double a = 6.6,int b = (int)a,这里b的值会为6,强转没有四舍五入,会丧失数据精度!)
7.控制台输入
	引入java.util.Scanner;包
	Scanner 变量名 = new Scanner(System.in);
	数据类型 变量名 = 变量名 . nextDouble/nextInt/next ();
		.出来的是方法

第三~四章:
1.基本if选择结构:if(布尔表达式){},如果表达式为true,则执行,为false则不执行
2.if(){}else{}
3.嵌套if,没有固定语法,一般不超过三层,注意大括号要规范
4.多重if,多重if的条件要有顺序,要么从从大到小,要么从小到大
5.逻辑运算符 &&并且 ||或者 (!取相反)
6.switch选择结构,是一种特殊的结构,用作等值判断,switch(变量或表达式){case 值: break;case 值 break;default break;}
switch的变量为int String char
7.多重switch选择结构和多重if选择结构
相同:都是用来处理多分支条件的判断
区别:多重if用在连续期间判断,而switch只能用在等值判断
第五~七章循环结构:
1.while(循环条件){循环操作} 符合条件,循环继续执行,否则循环退出。特点:先判断再执行
2.do {循环操作}while(循环条件) 同上。特点:不管任何都会先执行一次
3.使用循环的步骤:
1.确定循环条件和循环操作
2.套用语法写出代码
3.检查循环是否能够退出,避免循环
4.for(1参数初始化;2循环条件;4迭代部分){3循环操作}
5.break结束当前循环,continue跳出本次循环!!
一般循环次数确定的时候使用for循环,不确定的时候就使用while和do while
6.多重循环:外层循环执行一层,内层循环要执行完。
根据外层循环变量去寻找内层循环变量的规律。可以写出内层循环的判断条件
第八章数组:
1.什么是数组?数组是一个变量,存储相同类型数据的一组数据。声明一个数组就在内存空间中划出一串连续的空间
2.数组的基本要素
数组类型 [] 数组名称 = new 数组类型[数组长度]
3.使用数组四步走
1.声明数组 int [] 数组名称
2.分配空间 数组名称 = new 数组类型[数组长度]
3.数组赋值 数组名称[数组长度]=赋值
4.处理数据
4.创建数组

int [] nums = new int [10] 声明一个int类型的数组nums,长度为10,下标从0开始 0,1,2,3,4,5,6,7,8,9
 int [] nums = {1,2,3,4,5,} 此处数组长度为5,不能再分配空间!
 int [] nums = new int []{1,2,3,4,5} 和上面类似


5.数组排序
Arrays.sort(数组名), 文字无法排序,英文字母以abcd排序,数字从小到大1,2,3,4…
6.数组常见用法
1.求最大值,最小值
创建一个变量,将第一个值给给这个变量,然后循环进行比较,谁比这个变量大谁就是最大值,最小值反之
2.插入数组
先对数组进行排序,然后进行比较,找到要插入数据的位置下标,元素后移,然后将新元素放在后移空出来的位置