Java学习-----课程一

Java课程一

主要内容:
1.java平台应用
2.核心概念:JVM,JDK,JRE
3.搭建Java开发环境
4.使用工具开发Java程序
5.经验分享

一、Java SE
核心基础:面向对象、API、JVM....
二、Java EE
JSP、EJB、服务。。。
三、Java ME

移动设备、游戏、通信

四、JVM(java virtual Machine) Java 虚拟机
源文件------>编译器------->字节码文件-------->解释器------>显示
(鱼)            (刀)            (杀好的鱼)               (进一步加工,锅)
JDK(java Development kit) Java开发工具包

JRE(java Runtime Environment) Java运行环境

五、Java开发环境搭建(Windows)
第一步:安装JDK
下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
PS:点击可执行程序,下一步,下一步即可。
第二步:配置环境变量
JAVA_HOME    配置JDK安装路径
eg:C:\Program Files\Java\jdk1.8.0_171
PATH        配置JDK命令文件的位置
eg:C:\Program Files\Java\jdk1.8.0_171\bin
CLASSPATH    配置类库文件的位置
eg:C:\Program Files\Java\jdk1.8.0_171\lib
六、使用记事本编写Java
myProgram.java----------------------------->myProgram.clas------------------------> 显示
(源文件)                                                           (编译器,使用javac命令)                        (解释器,使用java命令)        
流程:
①新建HelloWorld.java
②cmd,javac HelloWorld.java---->生成了HelloWorld.class
③java HelloWorld        注意: 直接接类名,不要加上class
七、使用Eclipse开发java程序:集成开发环境类工具(IDE)
其他集成工具:MyEclipse,NetBeans
下载:https://www.eclipse.org/downloads/
①创建Java项目 file->new->javaProject
②创建程序包    选中项目的src目录-->new->package
③编写Java源程序 选中包->new->class
④运行Java程序 空白处右击->run as ->java application,包含了编译的过程
八、MyEclipse的使用简介:
MyEclipse是对Eclipse的扩展。
九、程序的移植:
选中项目(Jason)->右击->properties->Location即为项目的路径->复制/剪切
File->Import->Gerneral->Existing Project into WorkSpace->Browse->选中项目
十、总结
多练、多问、自己动手,调试错误、复习与总结
==================================================================================
2-1 关键字

abstract、boolean、break。。。。。。

Java关键字区分大小写,void是关键字,但Void就不是了

2-2 标识符

定义:给Java程序中变量、类、方法等命名的符号

package com.jason中的com.jason

public class demo中的demo

规则:
①由数字、字母、下划线组成,不能包含@,%,空格等特殊符号,不能以数字开头
②标识符不能是Java关键字和保留字

③标识符严格区分大小写

2-4 变量

三个元素描述变量:数据类型、变量名及变量值

eg:String love="jason";

扫描二维码关注公众号,回复: 2235373 查看本文章

拼接字符串用"+",字符串必须使用双引号抱起来,单引号报错

2-5 变量命名

规则:
①第一个单词的首字母小写,其后单词首字母大写,驼峰命名法
②不能以数字开头,不能以下划线和美元符之外的其他特殊字符开头,不能使用关键字

2-6 Java的数据类型

Java语言是一种强类型语言。

数据类型:

①基本数据类型:

数值型:整数类型(byte,short,int,long);浮点类型(float,double);

字符型:char

布尔型:boolean

②引用数据类型:

类:class

接口:interface

数组

PS:java中,基本数据类型变量存的是数据本身,而引用类型变量存的是数据的空间地址

常用基本数据类型:

数据类型    说明            字节        应用

int             整型                 4        存储整数、年龄、个数
double      双精度浮点型    8        存储小数、商品价格、平均分
float          单精度浮点型    4        存储小数、身高
char          字符型               2        存储单个字符、性别
boolean    布尔型               1        表示真或假

注意:为float变量赋值时在数值后添加字母,eg:float height = 120.2f;为char变量赋值时使用单引号(')引起来

String 是一种常用的引用数据类型

2-7 Java中变量的使用规则
①Java的变量必须先声明再使用
②声明变量的时候可以初始化。eg:String love="jason";或者String love;love="jason";
③变量中每次只能赋一个值,但可以修改多次
④main方法中定义的变量必须赋值之后才能输出
eg:String love;

     System.out.println(love);//love只声明未赋值,报错

⑤变量名不建议使用中文

2-9 Java中的自动类型转化

①int类型不能自动转换成char类型

②目标类型大于源类型,比如,double8字节,int4字节,int数据可以放入double类型中,反之,报错

2-10 Java中的强制类型转换
语法:
(数据类型)数值

eg:
double a = 10.2;

int b = (int)a;

PS:强制类型转换可能会造成数据的丢失

2-11 Java常量的应用

语法:

final 常量名 = 值

eg:final String LOVE = "jason";
        final double PI = 3.14;

注意:常量名一般使用大写字符

2-12注释

单行注释://
多行注释:/*......*/
文档注释:
/**
*
*
*/

PS:可以通过javadoc命令从文档注释中提取内容,生成程序的API帮助文档
E:\javadoc -d doc demo.java
javadoc标识:写入注释文档中,自动返回
@author 标明开发该类模块的作者
@version 标明该类模块的版本
@see 参考转向,也就是相关主题
@param 对方法中某参数的说明
@return 对方法返回值的说明
@exception 对方法可能抛出的异常进行说明

==================================================================================

3-1 运算符
①算数运算符
②赋值运算符
③比较运算符
④逻辑运算符

⑤条件运算符

3-2 Java中的算数运算符

算数运算符    名称    

+                   加
-                    减
*                    乘
/                    除
%                  取余
++                自增1
--                  自减1

3-3 Java中的赋值运算符

定义:为变量或常量指定数值的符号
赋值运算符    名称
=                    赋值
+=                 加等于
-=                  减等于
*=                  乘等于
/=                  除等于
%=                模等于

3.4比较运算符

定义:判读两个数据的大小

比较运算符         名称
>                        大于
<                        小于
>=                      大于等于
<=                      小于等于
==                      等于
!=                        不等于

PS:①>,<,>=,<=,两边操作数必须是数值类型;②==,!=,两边的操作输可以是数据类型也可以是引用类型

3-5 Java中的逻辑运算符
逻辑运算符        名称
&&                   与
||                       或
!                      非
^                       异或    有且仅有一个为TRUE,才返回True
PS:注意短路现象
3-7 Java中的条件运算符(三元运算符)

语法:布尔表达式?表达式1:表达式2;

eg:String mark = (score >=60 )?"及格":"不及格";

3-8 Java中的运算符的优先级

优先级顺序:从上向下
1    ()
2    !,+(正),-(负),++,--
3    *,/,%
4    +(加),-(减)
5    <,<=,>,>=
6    ==,!=
7    ^
8    &&
9    ||
10    ?:
11    =,+=,-=,*=,/=,%=

==================================================================================

4-1 Java条件语句之if

语法:

if(条件){//todo}

4-2 Java条件语句if...else

语法:
if(条件的布尔表达式){
    代码1
}else{
    代码2
}

4-3 Java条件语句之多重if

语法:
if(条件1){
    代码1
}else if(条件2){//else和if之间有个空格
    代码2
}else{
    代码3
}

4-4 Java条件语句之嵌套if

语法:
if(条件1){
    if(条件2){
    }else{
    }
}else{
}

4-6 Java条件语句之switch

语法:
switch(表达式){
    case 值1:
    代码1
    break;
    case 值1:
    代码1
    break;
    default:
    默认代码
}
PS:①switch后面的小括号表达式的值必须为整型或者字符串
     ②case后面的值可以使常量数值,也可以是常量表达式,eg:2+2
     ③没有遇到break,程序会继续运行下去

4-7 Java循环语句之while

语法:
while(判断条件){//todo}

4-8 Java循环语句之do...while

语法:
do{
    //todo

}while(判断条件);

4-9 Java循环语句之for

for(循环变量初始值;循环条件;循环变量变化){
    //todo

}

4-11 Java循环跳转语句之break

eg:
for(int i=1;i<=10;i++){
    if(i == 10){
        break;
    }
}    

4-12 Java循环跳转语句之continue

eg:
for(int i=1;i<=10;i++){
    if(i == 5){
        continue;
    }
}

4-14 Java循环语句之多重循环

定义:循环中包含循环

==================================================================================

5-3 编程优化:

使用Scanner工具类来获取用户输入的数据信息
Scanner类位于java.util包中,使用时需要引入此包
步骤:
①导入java.util.Scanner;//import java.util.Scanner;
②创建Scanner对象;//Scanner input = new Scanner(System.in);
③接受并保存用户输入的值
eg:println输出后会换行,print不会
public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入考生的成绩:");
        int score = input.nextInt();
        int count = 0;
        System.out.println("加分前:" + score);
        while(score < 60) {
            score++;
            count++;
        }
        System.out.println("最终成绩:" + score);
        System.out.println("加分次数:" + count);
    }

5-4 使用Eclipse断点调试

选中"小甲壳虫",点击运行
点击F6进行下一步操作,查看参数值得变化

5-5 进阶练习

eg:
/**
     * 功能:实现接受三个班级的各四名学员的成绩信息,然后计算每个班级的平均分
     * 知识点:二重循环,外层循环控制班级的数量,内层循环控制每个班级学员的数量
     * @param args
     */
    public static void main(String[] args) {
        int classNum = 3;//班级数量
        int stuNum = 4;//学生数量
        double sum = 0;//总分
        double avg = 0;//平均分
        for(int i=1;i<=classNum;i++) {
            sum = 0;
            System.out.println("*****请输入第" + i + "个班级成绩*****");
            for(int j=1;j<=stuNum;j++) {
                System.out.println("*****请输入第" + j + "个学员成绩*****");
                Scanner input = new Scanner(System.in);
                sum +=input.nextInt();
            }
            avg = sum /4;
            System.out.println("第" + i + "个班级的平均分为:" + avg);
        }     
    }
==================================================================================

6-1 定义数组

int[] score = {1,2,3,4};
获取数组的值:score[0],score[1]

6-3 如何使用Java中的数组

①声明数组:
语法:
数据类型[] 数组名;//eg:int[] score;
或者:
数据类型 数组名[];//eg:int score[];
②分配空间:指定数组中存放数组的元素个数
eg:scores = new int[5];height = new double[5];names = new String[5];
合并①和②:
eg:int[] scores = new int[5];
③赋值:
scores[0] = 100;scores[1] = 40;
④处理数组数据:
System.out.println(scores[0]);
⑤其他方式创建数组
int[] scores = {1,2,3,4};等价于
int[] scores = new int[]{1,2,3,4};

6-5 循环操作Java中的数组

eg:
int[] scores = {1,2,3,4};
for(int i=0;i<scores.legth;i++){
    System.out.println(score[i]);
}
PS:数组名.length,获取数组的长度

6-7 使用java中Array类操作数组(java.unit.Arrays)

Arrays中的常用方法:
①排序:
语法:Arrays.sort(数组名);//按升序排序
②将数组转换成字符串
语法:Arrays.toString(数组名)
ps:输出格式如:[game, movie, sports],多个元素之间使用逗号和空格隔开

6-8 使用foreach操作数组

区别:foreach并非关键字,是for语句的特殊简化版本
语法:
for(元素类型 元素变量:遍历对象){
    //todo
}
eg:
String[] hobbies = {"game","basketball","footerball"};
for(String hobby:hobbies){//foreach获取数组元素的下标,可以自定义一个遍历,参与循环
    System.out.println(hobby);
}

6-9 Java中的二维数据

①声明数组并分配空间
数据类型[][] 数组名 = new 数据类型[行的个数][列的个数];
或者
数据类型[][] 数组名;
数组名 = new 数据类型[行的个数][列的个数];
eg:int[][] name= new int[2][3];
②赋值
数组名[行的索引][列的索引] = 值;//num[1][2] = 3;
同时声明数组的同时亦可赋值:数据类型[][] 数组名 = {{},{},{}};
③处理数据
eg:
//定义数组
int[][] num = {{1,2,3},{4,5,6}};
for(int i=0;i<num.length;i++){
    for(int j=0;j<num[i].length;j++){
        System.out.print(num[i][j]);
    }
    System.out.println();
}

==================================================================================

7 方法
7-1 定义Java中的方法

语法:
访问修饰符 返回值类型    方法名(参数列表){
    方法体
}
①访问修饰符:public,protected,private
②返回值类型:void=>无返回值;定义return 语句的值的类型
③方法名:必须使用合法的标识符
④参数列表:每个参数由参数类型和参数名组成,以空格隔开
根据方法是否带参、是否带返回值,可将方法分为四类:
o.无参无返回值方法
t.无参带返回值方法
t.带参无返回值方法
f.带参带返回值方法

7-2 Java中无参无返回值方法的使用

方法的使用:
①定义方法:
public void show(){//void:返回值类型,show:方法名
    //todo
}
②调用方法
o.创建类的对象
t.调用:对象名.方法名();

7-3 Java中无参带返回值方法的使用

方法的使用:
①定义方法:
public int calcSum(){//int:返回一个整型值
    int a = 5;
    int b = 1;
    int sum = a + b;
    return sum;//决定方法的返回值类型
}
②调用:参考7.2调用
PS:方法的返回类型为void,则方法中不能使用return返回值;一个方法返回值最多只有一个;返回值的类型必须兼容,即方法返回值类型和return 返回值类型必须一致

7-5 Java中带参数无返回值的方法使用

①定义方法:
public void show(String name){
    System.out.println("欢迎" + name);
}
②调用方法:
对象名.方法名(实参1,实参2....)
HelloWorld hello = new HelloWorld();
hello.show("慕课网");
PS:定义方法时的参数称为形参,调用方法时的参数称为实参
PS:
O、用带参数方法时,必须保证实参的数量、类型、顺序与形参一致
T、调用方法时、实参不需要指定数据类型
T、方法的参数可以是基本类型,如int,double等,也可以是引用数据类型,如String,数组
eg:
public void print(int[] scores){
    System.out.println(Arrays.toString(scores););
}
HelloWorld hello = new HelloWorld();
int[] scores = {1,2,3};
hello.print(scores);
F、当方法的参数有多个时,多个参数以逗号分隔开
eg:public int print(int num1,int num2){}
注意:double avg = sum/2.0;//double类型2需要写成2.0

7-6 Java中带参数带返回值方法的使用

eg:
public String show(String name){//带参
    return "welcome" + name;//带返回值
}

7-8 Java中方法的重载

定义:同一个类,包含两个或者两个以上方法名相同、方法参数的个数、顺序或者类型不同的方法。
eg:
public void show(){}
public void show(String name){}
public void show(String name,int age){}
public void show(int age,String name){}
区分调用的方法:根据参数的个数和类型来判断
判断重载的依据:
①同一个类
②方法名相同
③方法参数的个数、顺序或类型不同
④与方法的修饰符或返回值没有关系


视频链接:https://www.imooc.com/learn/85


猜你喜欢

转载自blog.csdn.net/qq_29627497/article/details/80800666
今日推荐