第一章
1、jdk的下载安装配置
(1)下载
(2)安装
(3)配置:配置JAVA_HOME、PATH、classpath、
(4)测试配置是否成功:打开命令提示符(cmd)——输入java-version——java——javac
(5)Cmd的使用:cd(切换到当前路径)——编译命令(javac HelloWorld.java)——运行(java HelloWorld)
第二章
1、java标识符:需要取名字的地方(类名、对象名、变量名、方法名、类型名、数组名、文件名)(最好见名知意)
注意:由字母、数字、下划线、美元符号组成。首字母不能是数字。不能使用关键字。大小写使用严谨。长度没有限制。
2、常量:整数、小数、字符、布尔常量
变量:String name;int age;
变量的初始化:第一次给变量赋值,
第二次就不是初始化了,就是简单的变量赋值。
变量的特点:必须有类型,必须声明、初始化后才能使用。不能重复定义。
3、数据类型:基本数据类型和引用数据类型
(1)基本数据类型:整数类型(byte(1个字节)、short(2)、int(4)、long(8))、
浮点类型(单精度float(4)、双精度double(8))、字符类型char(2)、逻辑类型boolean(1)
(2)引用数据类型:数组、类、对象、接口
4、一个字节范围-128~127(-27 ~27-1);int取值范围-231—231-1
5、建议使用double,double精度高(有效数字16位),但消耗内存大,运算速度慢。
6、ASCII码:A:65 a:97
7、类型转换:自动类型转换和强制类型转换
自动类型转换:由小范围的转换到大范围(系统完成):byte→short→int→long →float →double →char
强制类型转换:double→float→long →int →short →byte (double d=3.14;int m=(int )d;)
8、运算符:算数运算符(+、-、*、/、%、++、--)、赋值运算符(=、+=、-=、/=、%=)、比较运算符(<、>、<=、>=、==、!=)、逻辑运算符(&、|、!、^、&&、||)。
9、程序执行的流程:code segment (代码段)→data segment(数据段) → stack(堆栈) → heap(堆)
10:成员变量(方法的参数)和局部变量
11、作用域:在大括号里声明的变量只能在大括号里使用。出了大括号就没法使用了。
12、
第三章(java流程控制语句)
1、顺序语句
2、循环语句
(1)while语句:while(i<10){System.out.println(“输出我!”);i++;}
(2)Do-while语句
(3)For循环语句:for(i=0;i<10;i++){System.out.println(“输出我!”);}
3、选择语句
(1) if语句:if(i>5){System.out.println(“输出我!”)};
(2) If-else语句
Int a=23,b=36,max;
if(a>b){
Max=a;
}else{
Max=b;
}
System.out.println(“最大值为:”+max);
(3) If-else-if多分支选择语句(输入成绩,输出等级)
(4) Switch语句(输入等级,输出成绩范围)
4、流程跳转语句:break和continue
for(i=0;i<10;i++){
If (i>5){
Break;
}System.out.println(“输出我!”);}
5、键盘录入数据
package com.zk;
//键盘录入
import java.util.Scanner;
public class Jplr {
public static void main(String[] args) {
Scanner sc = new Scanner (System.in);
System.out.println("请输入:");
int input =sc.nextInt();
System.out.println("你输入了:"+input);
}
}
6、电脑随机生成数据
package com.zk;
//产生3位随机数(0-1000内)
public class Sjs {
public static void main(String[] args) {
int d=((int)(Math.random()*1000));
System.out.println(d);
}
}
第四章(数组)
1、数组:存储相同数组的集合。数组一旦确定类型便不可改变。
2、一维数组的声明:String[]args; int []arr;或者String args[];int arr[];
3、一维数组的创建:(1)使用new运算符:int[]arr=new int[5];数组长度确定后不可更改。(索引越界)
(2)直接初始化数组赋值:int []arr={1,2,3,5,6};
4、数组的长度:arr.length
5、访问第i个元素:arr[i-1];
6、对元素赋值:arr[0]=3;
7、二维数组:(1)声明:int[][]arr;创建:int[][]arr=new int [][];int[][]arr={{1,2,3}{2,5,7}{77,94,76}};
8、冒泡排序:int []arr={3,5,32,4,21,6};
For(i=0;i<arr.length;i++){
For(j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
int temp=arr[j];
int arr[j]=arr[j+1];
Int arr[j+i]=temp;
}
}
}
For (int i=0;i<arr.length;i++){
System.out.println(arr[i]+”\t”);
}
1、两个数值的交换:(利用第三变量)(异或)(减法)
(1)int temp=a;int a=b;int b=temp;
(2)a=a^b;b=a^b;a=a^b;
(3)a=a+b;b=a-b;a=a-b;
2、
String str1 = "Hello";
String str2 = "World";
System.out.println(str1+str2);
System.out.println(+3);
//字符串跟任何数据拼接的结果都是字符串
System.out.println(4/5);//0
System.out.println(4.0/5);//0.8
System.out.println(5/4.0);//1.25
System.out.println(5.0/2.0);//2.5
//总结:整数/整数 = 整数,只要有小数参与运算,就精确运算
2、 ASCII总结:
char c1 = 't';
char c2 = 99;//0--65535
System.out.println(c1); t
System.out.println(c2); c
char c3 = (char)(c1+1);
System.out.println(c3); u
char c4 = (char)(c2+2);
System.out.println(c4); e
char c5 = 65+3;
System.out.println(c5); D
3、杨辉三角:
package com.baidu;
//杨辉三角
import java.util.Scanner;
public class YHSJ {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入杨辉三角的行数:");
int n =sc.nextInt();
//定义一个二维数组
int[][] arr = new int [n][n];
//给这个二维数组任何一行的第一列和最后一列赋值为1
for(int x=0; x<arr.length; x++){
arr[x][0]=1; //任何一行的第1列。
arr[x][x]=1; //任何一行的最后一列。
}
//按照规律给其他元素赋值
//从第三行开始,每个数据是它上一行的前一列和它上一行的本列之和。
for(int x=2; x<arr.length; x++){
//这一如果y<=x是有个小问题的,就是最后一列的问题,所以这里要减去1
//并且y也应该从1开始,因为第一列也是有值了
for(int y=1; y<=x-1; y++){
//每一个数据都是它上一行的前一行和它上一行的本列之和
arr[x][y] = arr[x-1][y-1] + arr[x-1][y];;
}
}
//遍历这个二维数组
for(int x=0; x<arr.length; x++){
for(int y=0; y<x; y++){
System.out.print(arr[x][y]+"\t");
}
System.out.println();
}
}
}