Java:
整个基础阶段,我们把知识点分为以下几个内容
基础理论 关键字和标识符 常量和变量 数据类型和运算符
选择流程语句,循环流程语句,流程跳转语句.
|
一.基本概念
Java面向不同的用户群体推出了三个版本:标准版(javase)企业版(javaee)精简版(javame) |
JAVA语言的特性:
|
Java虚拟机:JVM向上读取应用程序,向下兼容操作系统.他是Java语言跨平台的保障.他的安装程序叫jre,如果我们一台电脑只需要读取Java程序,那么安装jre就可以了,如果要编写Java程序那么就需要安装JDK,jdk就是jre和高级类库. |
二、关键字和标识符:
关键字:Java赋予了特殊含义的字就是关键字.在myeclipse工具中,他呈现为紫色. Public 范围修饰符,表示使用范围. Static 静态修饰符 Void 返回值类型为无返回值类型 Class 声明类的关键字 Package 声明包关键字 Byte short int long float double char Boolean true false 关于数据类型的10个关键字 If else switch case default选择流程关键字 While do for 循环流程语句关键字 Break continue 流程跳转关键字 New 数组动态赋值关键字 以上合计26个. |
标识符:开发过程中程序员自己命名的类名/变量名/方法名/属性名,就是标识符. 标识符的命名规则:1.可以使用字母数字下划线和美元符号_$ 2.数字不能开头 3.不能是关键字 实际开发之中,我们会有一些默认规则1.类名首字母大写,多个单词构成,每个单词都首字母大写.2.属性名方法名首字母小写,多个单词构成,从第二个单词开始首字母大写.3.常量大写 |
三、常量和变量
常量就是不可变的量,也就是字面值,看到是多少就是多少. 变量:在代码运行过程中可以改变的量叫变量. 变量需要声明: 数据类型 变量名=值; 变量赋值可以直接赋值,也可以引用赋值. Int a=10;//直接赋值 Int b=a;//引用赋值,把a的值引用给了b. |
四、数据类型和运算符
数据类型:包括基本数据类型和引用数据类型,基本数据类型包括四类八种,剩下的全都是引用数据类型,每一个引用数据类型背后都有一个类在支撑.这个阶段,我们学习的引用数据类型有:string,scanner,数组. 基本数据类型 整数类型:byte short int long 他们的范围越来越大.byte是-128到127 小数类型:float double 布尔类型:Boolean,表示判断,他的值就是true和false 字符类型:char, |
数据类型之间可以转化,转化的时候小的类型可以直接放到大的类型里边,大的类型放到小的类型里边有可以溢出.所以需要强转.那么我们搞清楚谁大谁小就可以了 布尔类型不能转,其他七种从小到大是: Byte<short<char<int<long<float<double Int a=10; Byte b=(byte)a;//byte小于int,所以把int类型放到byte中需要强转成byte Double c=a;//a是int类型,小于double,所以不需要转. |
运算符: 算术运算符: + - * / % ++ -- 赋值运算符:= += -= *= /= %= 比较运算符:> < >= <= == != 逻辑运算符:&& || ! ^ |
表达式:使用运算符关联常量和变量构成的式子就是表达式. |
三目运算: 布尔表达式?值1:值2; 布尔表达式结果为真,返回值1,结果为假,返回值2,和值1,值2的内容无关. |
五.流程控制语句:代码的执行顺序可以分为:按顺序执行,选择执行,循环执行.正常情况下代码按顺序执行,如果需要选择执行或者循环执行就通过关键字来构建语法.
六、选择语句:有if和switch2个关键字
If有三种语法: 单分支:if(布尔表达式){代码块},布尔表达式为真,执行代码块 双分支:if(布尔表达式){代码块1}else{代码块2},表达式为真,执行代码1,为假,执行代码块2. 多分支:if(布尔表达式1){代码块1}else if(布尔表达式2){代码块2}else{代码块3}首先判断布尔表达式1,为真就执行代码块1,整个判断结束,如果为假,就去判断布尔表达式2,为真就执行代码块2,为假就执行代码块3. 多分支语法中间的else if(){}作为一个整体,根据我们的需要可以有无数个. 多分支语法的各个判断条件之间是互斥的,只要一个判断为真,就执行这个判断后边跟的代码块,其他的全部不再执行. |
Switch: Switch(整数表达式){ Case 1:代码块1;break; Case 2:代码块2;break; Case 3:代码块3;break; Default: 代码块; } |
七、循环语句:循环有三个内容,一是起点,二是重点,三是迭代,如果缺一就可以出现死循环.
While:语法:while(布尔表达式){代码块},表达式为真,循环执行代码块 一般使用在不确定循环次数的地方,当满足某种条件,就结束循环. 还有种情况:do{代码块}while(布尔表达式);先执行一次循环,再去判断是否满足条件,不满足也会执行一次.所有流程语句,只有他不是{}结尾的,所以只有他需要最后加; |
For:语法:for(声明起点;判断条件;迭代){代码块},他把循环需要的三要素全部放到()以内了,for循环使用在确定循环次数的情况下. |
八、流程跳转语句
Break:结束整个循环 |
Continue:本轮循环,从continue往后的代码不在执行了. |
流程控制语句嵌套:
While和if嵌套 双层for |
打印数字塔结构 for(int i=0;i<5;i++){ for(int j=0;j<5-1-i;j++){ System.out.print("\t"); } for(int k=1;k<=i+1;k++){ System.out.print(k+"\t"); } for(int m=i;m>0;m-- ){ System.out.print(m+"\t"); } System.out.println(); } |
打印九九乘法表 for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ System.out.print(j+"x"+i+"="+(j*i)+" "); } System.out.println(); } |
百元百鸡 for(int a=0;a<20;a++){ for(int b=0;b<33;b++){ for(int c=0;c<100;c++){ if(5*a+b*3+c/3==100&&a+b+c==100&&c%3==0){ System.out.println("公鸡有"+a+"只"+"母鸡有"+b+"只"+"小鸡有"+c+"只"); } } } } |
九、数组:同类型数据的容器.
声明数组: 数据类型[] 数组名 数组赋值:静态赋值 ={} 动态赋值 =new 数据类型[长度] 数组的长度是 数组名.length 其实数组已经是一种引用数据类型,引用数据类型都有属性和方法.数组的长度使用了属性length来表示,写成数组名.length,意思是数组的长度属性. 数组的下标:数组的下标从0开始,到length-1结束,写法是:数组名[下标] 数组的遍历:数组是一个容器,所以重要的是数组中的数据,我们需要一个一个拿到他,然后才能使用,所以需要数组的遍历. 数组的遍历使用for循环. For(int i=0;i<数组名.length;i++){ 输出 数组名[i] } 增强for遍历: for(数据类型 变量名:数组名){输出 变量名} 数组的排序:选择排序和冒泡排序: 多维数组:数组的每一个元素还是一个数组,这就是多维数组,二维就是数组含数组,三维就是数组含数组含数组. 三维数组的案例: int[][][]b={{{},{}},{{},{}}}; |
选择排序: for (int i = 0; i < b.length-1; i++) { for (int j = i; j < b.length; j++) { if(b[i]>b[j]){ int a=b[j]; b[j]=b[i];b[i]=a; } } } for (int i = 0; i < b.length; i++) { System.out.print(b[i]+" "); } |
冒泡排序: for (int i = 0; i < b.length; i++) { for (int j = 0; j < b.length-1-i; j++) { if(b[j]>b[j+1]){ int a=b[j]; b[j]=b[j+1];b[j+1]=a; } } } for (int i = 0; i < b.length; i++) { System.out.print(b[i]+" "); } |
十、函数:就是方法,是实现代码复用的一个东西.通过调用方法名,就可以实现一大段代码的重复使用.
函数的语法: Public static void 方法名(参数列表){代码块} |
求一个数 是不是素数 public static void su(int a){
int d=1; for(int c=2;c<a;c++){ if(a%c==0){ d=6; } } if(d==1){ System.out.println(a+"素数 "); }else{ System.out.println(a+"不是素数"); }
} |
求两个数中间的素数,并输出个数. public static void su(int a,int b){ int count=0; for (int i = a; i <= b; i++) { int d=1; for(int c=2;c<i;c++){ if(i%c==0){ d=6; break; } } if(d==1){ System.out.println(i+"素数 "); count++; } } System.out.println(count); } |