Java总结(1)

本文是Java学习的第一部分,涵盖了JDK安装、IDEA使用、基础语法如标识符、包名、关键字、注释、数据类型、数组、方法等,并介绍了Scanner类的使用和方法重载的概念。
摘要由CSDN通过智能技术生成

java总结(1)

前期准备

JDK安装

1.下载

2.路径不能有中文,否则安装向导会中断

3.记住安装的路径

4.配置环境变量

​ 电脑-属性-高级系统设置

​ 环境变量-JAVA_HOME

​ 配置path变量

5.测试jdk是否按装成功

​ cmd-java -version

idea使用

集成开发环境 代码编译器 编辑器 调试器 图形界面显示器

1.创建新项目

2.选择jdk

3.在src下面创建包

4.在包下面新建class文件

新建

建立Empty project

file-new-module

file-project Structure

设置 project-jdk和语言等级 与jdk版本一样

快速生成语句

psvm

sout

内容辅助键

ctrl+alt +space

注释

单行 选中代码 ctrl+l

多行 选中代码 ctrl+shift+L

基础语法

  • 对象:对象是类的一个实例,有状态和行为。

  • :类是一个模板,它描述一类对象的行为和状态。

  • 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。

  • 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定

标识符

类名、变量名以及方法名都被称为标识符

应该以字母,美元符号,下划线开始

不能使用关键字

标识符是大小写敏感的

变量名字可以是中文,类名也可以但是不推荐

采用Unicode字符集,汉字和英文字母一样

如:age、$salary、_value、__1_value

包名

也可以新建包 方便分类

一般用公司域名作为包名:com.huxiang.blod

为使用包成员 在java中明确导入该包,使用import

关键字

下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称

类别关键字说明
访问控制private私有的
protected受保护的
public公共的
default默认
类、方法和变量修饰符abstract声明抽象
class
extends扩充,继承
final最终值,不可改变的
implements实现(接口)
interface接口
native本地,原生方法(非 Java 实现)
new新,创建
static静态
strictfp严格,精准
synchronized线程,同步
transient短暂
volatile易失
程序控制语句break跳出循环
case定义一个值以供 switch 选择
continue继续
default默认
do运行
else否则
for循环
if如果
instanceof实例
return返回
switch根据值选择执行
while循环
错误处理assert断言表达式是否为真
catch捕捉异常
finally有没有异常都执行
throw抛出一个异常对象
throws声明一个异常可能被抛出
try捕获异常
包相关import引入
package
基本类型boolean布尔型
byte字节型
char字符型
double双精度浮点
float单精度浮点
int整型
long长整型
short短整型
变量引用super父类,超类
this本类
void无返回值
保留关键字goto是关键字,但不能使用
const是关键字,但不能使用
null

注释

单行注释·

//

多行注释

/* */

文档注释

/*

*/

public class Hello {
   /* 这是第一个Java程序
    * 它将输出 Hello World
    * 这是一个多行注释的示例
    */
    public static void main(String[] args){
       // 这是单行注释的示例
       /* 这个也是单行注释的示例 */
       System.out.println("Hello World"); 
    }
}

javadoc

自己用来生成文档

参数信息:

  1. @author 作者名
  2. @version 版本号
  3. @since 指明需要最早使用的jdk
  4. @param 参数名
  5. @return 返回值情况
  6. @throws 异常抛出情况

命令行操作Java生成文档

javadoc -encoding UTF-8 -charset UTF-8 java文件(字符编码格式)

编译和解释

编译全局翻译

解释实时更新(边执行边解释)

java先编译到操作系统才解释

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-etpnwQW2-1626270403005)(D:\笔记\JAVA学习笔记\ZSSDMld.png)]

基本数据类型

数据类型取值范围 都包装类

 // int  
        System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);  
        System.out.println("包装类:java.lang.Integer");  
        System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);  
        System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);  

八大基本类型 primitive type

//整数 默认值0
int num1=10--java.lang.Integer
short num2=20;--java.lang.Short
--java.lang.Long"
long num3=30L;//long 类型后面加上L
byte num4=40;--java.lang.Byte

//小数
float num5=60.1F;--java.lang.float
double num6=3.1415926;--java.lang.Double
double   d1  = 7D ;
double   d2  = 7.; 
double   d3  =  8.0; 
double   d4  =  8.D; 
double   d5  =  12.9867; 

//字符
char name='胡';--java.lang.Character

//字符串
//String name1="傻子";
//String是类 ,不是关键字

//布尔型
boolean flag=ture;
//boolean flag=false; 

String name;//object 默认值null

floatdouble不一样

float=double+1

少用浮点数进行比

字符类

所有的字符本身还是数字

boolean 类型

boolean b1=trueboolean b2=falseif(b1)
    {
     ture分支
     }elsefalse分支
     }

引用类型 reference type

类class

数组

接口interface

常量

在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似:

final double PI = 3.1415927;

类型转换

  • 条件是转换的数据类型必须是兼容的。
  • 格式:(type)value type是要强制类型转换后的数据类型 实例:
  • 整数默认类型 int
  • 小数默认类型double

修饰符

  • default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
  • private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
  • public : 对所有类可见。使用对象:类、接口、变量、方法
  • protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

访问权限

修饰符当前类同一包内子孙类(同一包)子孙类(不同包)其他包
publicYYYYY
protectedYYYY/N(说明N
defaultYYYNN
privateYNNNN

使用默认访问修饰符声明的变量和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为 public static final,而接口里的方法默认情况下访问权限为 public

Scanner类

用来获取用户的输入

`Scanner对于没有外部同步的多线程使用是不安全的。

import java.util.Scanner

Scanner s=new Scanner(System.in);

Scanner类

next()和nextline()获取输入的字符串

next():

  • 1、一定要读取到有效字符后才可以结束输入。
  • 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
  • 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  • next() 不能得到带有空格的字符串。

nextLine():

  • 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
  • 2、可以获得空白。

hasNext()和hasNextLine()判断是否有输入的数据

toens()方法还可以阻止等待输入。

关闭

scanner.close();

Scanner. (方法);

数组

定义格式

int [] arr;

定义了int 类型数组,数组是arr

int arr[];

定义了int 类型变量,变量名数组arr

动态初始化

初始化时分配值为0;

只指定长度

int[]arr=new int[3];
int [][] arr=new int [2][5]

数组元素访问

数组名[索引]

索引:从0开始 连续 逐一增加

静态初始化

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

数组遍历

利用for循环

arr.length --获取数组元素个数

增强java循环

Java 增强 for 循环语法格式如下:

for(声明语句 : 表达式) { //代码句子 }

public class Test {
   public static void main(String args[]){
      int [] numbers = {10, 20, 30, 40, 50};
 
      for(int x : numbers ){
         System.out.print( x );
         System.out.print(",");
      }
      System.out.print("\n");
      String [] names ={"James", "Larry", "Tom", "Lacy"};
      for( String name : names ) {
         System.out.print( name );
         System.out.print(",");
      }
   }
}

java.util.Arrays

按住ctrl可以查看类

点击structure可以查看发方法

稀疏数组

记录 行数和列数 以及有效值数

​ (某行 某列 ) 值

import java.util.Arrays;public class S {    public static void main(String[] args) {        int [] []arr=new int [11][11];        arr[2][4]=1;        arr[6][5]=3;        for(int[] ints: arr) {            for (int anInt : ints) {                System.out.print(anInt + "\t");            }            System.out.println();        }        int sum=0;            for(int i=0;i<11;i++){                for(int j=0;j<11;j++){                    if(arr[i][j]!=0){                        sum++;                    }                }            }             int [][] arr1=new int [sum+1][3];            arr1[0][0] =11;            arr1[0][1] =11;            arr1[0][2] =sum;            int cnt=0;            for(int i=0;i<arr.length;i++){                for(int j=0;j<arr[i].length;j++){                    if(arr[i][j]!=0) {                        cnt++;                        arr1[cnt][0] = i;                        arr1[cnt][1] = j;                        arr1[cnt][2] = sum;                    }                    }                }                for (int j = 0; j <arr1.length; j++) {                    System.out.println(arr1[j][0]+"\t"+                            arr1[j][1]+"\t"                            +arr1[j][2]+"\t");                }            }        }

方法

一个方法里只完成一个功能

方法包含于类或对象中

类似与函数

当有返回值的时候,被当作一个值

返回值是void 方法调用一定是一条语句

修饰符 返回值类型 方法名(参数类型 参数名){    ...    方法体    ...    return 返回值;}

方法重载

名字一样

数据类型不一样

参数个数不一样

参数类型不一样

返回值可以相同也可以不相同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值