总结_0610

开发工具IntelliJ IDEA

1. IDEA 软件安装

双击ideaIU-2020.1.exe进入安装

​ 欢迎界面——>选择安装路径——>配置安装选项——>开始菜单——>安装完毕

2. IDEA 软件使用

2.1 基本设置
新建工程

​ 不导入任何设置——>选择 Create New Project——>点击 new 按钮,配置安装的 JDK8 版本——>不使用模板——>为工程起名字 ,并存储到 目标目录下——> 项目已经创建好

​ 如果再新建项目,点击 File——>new——>Project

2.2 创建包和类

​ 展开创建的工程,在源代码的 录 src 上,鼠标右键,选择package ,输入包名 com.sxt.demo
点击确定。

​ 在创建好的包上,鼠标右键,选择 new——>class 创建类,键入类名。

File ——>Close Project 回到启动界面

运行程序,在代码编辑区鼠标右键,选择    `Run HelloWorld`
目录层级
  • .idea 目录和 demo.iml 和我们开发无关,是IDEA工具自己使用的
  • out 目录是存储编译后的.class文件
  • src 目录是存储我们编写的.java源文件

2.3 IDEA 常用快捷键

Alt+Enter 导入包,自动修正代码
Ctrl+Y 删除光标所在行
Ctrl+D 复制光标所在行的内容,插入光标位置下面
Ctrl+Alt+L 格式化代码
Ctrl+/ 单行注释
Ctrl+Shift+/ 选中代码注释,多行注释,再按取消注释
Alt+Ins 自动生成代码,toString,get,set等方法
Alt+Shift+ 上下箭头 移动当前代码行

一、基础知识

1.1 Java语言概述

​ SE(JavaSE),standard edition,标准版。
EE(JavaEE),enterprise edition,企业版。
ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序。

1.2 计算机基础知识

二进制

​ 二进制数系统中,每个0或1就是一个位,叫做bit(比特)。

字节

​ 8 bit = 1 B
1024 B =1 KB
1024 KB =1 MB
1024 MB =1 GB
1024 GB = 1 TB

常用DOS命令

​ 查看当前文件夹 dir
进入文件夹命令 cd 文件夹名
退出文件夹命令 cd..
退出到磁盘根目录 cd\
清屏 cls

1.3 开发环境

  • JDK 开发工具包

  • JRE 运行环境

  • JVM 虚拟机

    三者关系: JDK > JRE > JVM

配置环境变量

在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4k0nrguO-1591778912706)(C:\Users\GP\AppData\Local\Temp\1591778599839.png)]

记事本编写Java源程序
  1. 编写:

    ​ 文件名:xxx.java

    ​ 类名和文件名保持一致,大小写相同

  2. 编译:javac Java源文件名.后缀名

  3. 运行:Java 类名

  • 编译 :是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
  • 运行 :是指将 class 文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了

1.4 常量、变量和数据类型

​ 常量:固定不变的数据

​ 变量:不赋值不能使用

数据类型

​ 基本数据类型:整数、浮点数、字符、布尔

​ 引用数据类型:类、数组、接口

数据类型转换

​ 自动转换 :将 取值范围小的类型 自动提升为 取值范围大的类型 。

byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double

​ 强制类型转换 :将 取值范围大的类型 强制转换成 取值范围小的类型 。

数据类型 变量名 = (数据类型)被转数据值

1.5 碎碎念

  1. main 方法是程序的入口和起点

  2. 注释:// 或 /* */

  3. 标识符命名规则: 数字(不能开头)、字母、下划线及美元符

  4. 命名规范:

    • 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
    • 方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。
    • 变量名规范:全部小写。

二、流程控制

顺序结构:顺序执行,根据编写的顺序,从上到下运行

2.1 判断语句(if)

//第一种格式
if(关系表达式){
   语句体;//第二种格式
if(关系表达式) {
   语句体1;  
}else {
   语句体2;  
}

//第三种格式
if (判断条件1) {
   执行语句1;  
} else if (判断条件2) {
   执行语句2;  
}
...
}else if (判断条件n) {
  执行语句n;   
} else {
   执行语句n+1;  
}

if 语句和三元运算符的互换

public static void main(String[] args) {
    int a = 10;
    int b = 20;
    //定义变量,保存a和b的较大值
    int c;
    if(a > b) {
       c = a;  
    } else {
       c = b;  
    }
    //可以上述功能改写为三元运算符形式
    c = a > b ? a:b;
}

2.2 选择语句(switch)

switch(表达式) {
  case 常量值1:
    语句体1;
    break;
  case 常量值2:
    语句体2;
    break;
  ...
  default:
    语句体n+1;
    break;
}
  • switch 语句中,表达式的数据类型可以是byte,short,int,char,enum(枚举),字符串。

2.3 循环语句(for、while、do…while)

for(初始化表达式; 布尔表达式; 步进表达式){
    循环体       
}

例:循环计算1-100之间的和
public static void main(String[] args) {
  //1.定义一个初始化变量,记录累加求和,初始值为0
  int sum = 0;
  //2.利用for循环获取1‐100之间的数字
  for (int i = 1; i <= 100; i++) {
      //3.判断获取的数组是奇数还是偶数
      if(i % 2==0){
        //4.如果是偶数就累加求和
        sum += i;
      }
  }
   //5.循环结束之后,打印累加结果  
   System.out.println("sum:"+sum);  
}
初始化表达式
  while(布尔表达式){
    循环体
    步进表达式
}

例:循环计算1-100之间的和
public static void main(String[] args) {
    //使用while循环实现
    //定义一个变量,记录累加求和
    int sum = 0;
    //定义初始化表达式
    int i = 1;
    //使用while循环让初始化表达式的值变化
    while(i<=100){
        //累加求和
        sum += i ;
        //步进表达式改变变量的值
        i++;
     }
    //打印求和的变量
    System.out.println("1‐100的和是:"+sum);
}
初始化表达式
do{
    循环体
    步进表达式
   } while(布尔表达式);

例:输出十次HelloWorld
public static void main(String[] args) {
    int x=1;
    do {
      System.out.println("HelloWorld");
      x++;
    }while(x<=10);
}
  • 在已知循环次数的时候使用 for,循环次数未知的时使用while

2.4 跳出语句

break:终止 switch或者循环

  • 在选择结构 switch语句中
  • 在循环语句

continue:结束本次循环,继续下一次的循环,只在循环语句中。

三、数组

3.1 数组定义

格式一:
数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度];

例: int[] arr = new int[3];
格式二:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};

例:int[] arr = new int[]{1,2,3,4,5};
格式三:
数据类型[] 数组名 = {元素1,元素2,元素3...};

例:int[] arr ={1,2,3,4,5};

3.2 数组访问

为数组中的元素赋值 数组名 [索引]=数值

获取出数组中的元素 变量 =数组名[索引]

数组的长度 数组名 .length

数组最大索引值 数组名 .length-1

数组越界异常 ArrayIndexOutOfBoundsException

数组空指针异常 NullPointerException

3.3 数组遍历

普通for循环

public static void main(String[] args) {
    int[] arr = { 1, 2, 3, 4, 5 };
    for (int i = 0; i < arr.length; i++) {
      System.out.println(arr[i]);
    }
}

增强for循环

for(数组元素类型 变量名(临时) : 数组名){
    System.out.println(数组名)}

例:
for(String temp : names){
    System.out.println(temp);
}

3.4 数组作为方法参数和返回值

数组作为方法参数传递,传递的参数是数组内存的地址

public static void main(String[] args) {
    int[] arr = { 1, 3, 5, 7, 9 };
    //调用方法,传递数组
    printArray(arr);
}
/*
创建方法,方法接收数组类型的参数    
进行数组的遍历    
*/
public static void printArray(int[] arr) {
    for (int i = 0; i < arr.length; i++) {
      System.out.println(arr[i]);
    }
}

数组作为方法的返回值,返回的是数组的内存地址

public static void main(String[] args) {
    //调用方法,接收数组的返回值
    //接收到的是数组的内存地址
    int[] arr = getArray();
    for (int i = 0; i < arr.length; i++) {
      System.out.println(arr[i]);
    }
}
/*
创建方法,返回值是数组类型 
return返回数组的地址    
*/
public static int[] getArray() {
    int[] arr = { 1, 3, 5, 7, 9 };
    //返回数组的地址,返回到调用者
    return arr;
}

注意:方法的参数为基本类型时,传递的是数据值. 方法的参数为引用类型时,传递的是地址值.

四、方法

就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。

4.1 方法定义

修饰符 返回值类型 方法名 (参数列表){ 
	方法体;
}
  • 方法定义在类中
  • 方法不能嵌套定义
  • static修饰符 可以在主方法中直接调用方法名

4.2 方法调用

方法名 (参数列表);

直接调用: 直接写方法名调用

public static void main(String[] args) {
   print();  
}
public static void print() {
  System.out.println("方法被调用");   
}

赋值调用: 调用方法,在方法前面定义变量,接收方法返回值

public static void main(String[] args) {
   int sum = getSum(5,6);  
   System.out.println(sum);  
}
public static int getSum(int a,int b) {
   return a + b;  
}

输出语句调用:在输出语句中调用方法

System.out.println( 方法名()) ;

4.3 方法重载

在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。

参数列表满足其一即可:个数不同,数据类型不同,顺序不同。

4.4 碎碎念

  • return意味着方法结束,后面将不再执行。
  • 方法的参数为基本类型时,传递的是数据值. 方法的参数为引用类型时,传递的是地址值.

五、类和对象

类是对象的模板,对象是类的实体 。

5.1 类的定义格式
public class ClassName {
  //成员变量
  //成员方法
}

​ 定义类 :就是定义类的成员,包括成员变量和成员方法。
成员变量 :和以前定义变量几乎是一样的。只不过位置发生了改变。在类中,方法外。
成员方法 :和以前定义方法几乎是一样的。只不过把static去掉。

构造器: 对象在创建时会自动调用。系统会自动提供,也可以自己写。

// 构造器没有返回值,没有static,连void都没有 
// 构造器的名字必须和类名保持一致
    Teather(){
        }
//构造器可以重载
  Teather(String name, int age,  String degree){
        this.name = name;
        this.age = age;
        this.degree = degree;
    }
5.2 对象的使用格式
创建对象:
类名 对象名 = new 类名();

使用对象访问类中的成员:
对象名.成员变量;
对象名.成员方法()

对象创造(new)内部过程:

  1. 根据类模板去堆中开辟新的空间,并且对属性进行系统的初始化(可以给定值进行初始化)
  2. 调用构造器(方法)对 对象进行初始化
  3. 返回开辟的空间的首地址

一样的。只不过位置发生了改变。在类中,方法外。
成员方法 :和以前定义方法几乎是一样的。只不过把static去掉。

构造器: 对象在创建时会自动调用。系统会自动提供,也可以自己写。

// 构造器没有返回值,没有static,连void都没有 
// 构造器的名字必须和类名保持一致
    Teather(){
        }
//构造器可以重载
  Teather(String name, int age,  String degree){
        this.name = name;
        this.age = age;
        this.degree = degree;
    }
5.2 对象的使用格式
创建对象:
类名 对象名 = new 类名();

使用对象访问类中的成员:
对象名.成员变量;
对象名.成员方法()

对象创造(new)内部过程:

  1. 根据类模板去堆中开辟新的空间,并且对属性进行系统的初始化(可以给定值进行初始化)
  2. 调用构造器(方法)对 对象进行初始化
  3. 返回开辟的空间的首地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值