J2SE基础

数据类型

1.基本数据类型
2.引用类型
图片说明
String不是基本类型,它是一个类
进制:二进制0b开头,八进制0开头,十六进制0x开头
long后面加L,float后面加f


Ctrl+d:复制当前行内容到下一行


可以用逗号隔开以声明多个同类型的变量
幂运算:double p = Math.pow(3,2); //p=9
加号+在输出语句中作字符串连接符:凡是语句中先出现了字符串,就把所有变量作为字符串拼接起来输出:

int a=10,b=20;
System.out.println(""+a+b); //1020
System.out.println(a+b""+); //30

变量

  • 类变量:关键字static修饰(又叫静态变量),
  • 实例变量:方法的外面,类的里面。从属于对象,可以不进行初始化,因为有默认值:
          数值型为0或0.0,Boolean为false,除了基本类型的其他都为null
  • 局部变量:只作用于方法内部,必须声明和初始化值

常量

关键字final修饰,程序运行过程中值不可变,常量名一般用大写字母

修饰符顺序可以变:final static double PI = 3.14;
                  static final double PI = 3.14;

命名规范

  • 类成员变量:首字母小写和驼峰原则:monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(), runRun()

JavaDoc

Javadoc是一种将注释生成HTML文档的技术,生成的HTML文档类似于java的API。
生成方法:

  • 命令行:javadoc 参数 文件
    javadoc -encoding UTF-8 -charset UTF-8 Demo05.java
  • IDEA:tools图片说明 Generate JavaDoc

用户交互Scanner

Java提供的工具类,可以获取用户的输入,类似C语言中的scanf。简单来说,Scanner就是用来获取用户在控制台输入的字符串,也可以获取一个文件中的字符串。
引入包java.util.Scanner

//基本语法:
Scanner s = new Scanner(System.in);

通过Scanner类的next()与nextline()方法获取输入的字符串,在读取之前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

//next()
package com.kuang.scanner;

import java.util.Scanner;

public class Demo01 {

    public static void main(String[] args) {

        //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用next方法接收:");

        //判断用户有没有输出字符串
        if (scanner.hasNext()){
            String str = scanner.next();
            System.out.println("输出的内容为:"+str);
        }

        //io流的类 养成用后即关的习惯
        scanner.close();
    }
}

图片说明


//nextline()
package com.kuang.scanner;

import java.util.Scanner;

public class Demo02 {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        System.out.println("使用nextLine方式接收:");

        //判断用户是否输入字符串
        if (scanner.hasNext()){
            String str = scanner.nextLine();
            System.out.println("输出的内容为:"+str);
        }
        scanner.close();
    }
}

图片说明


next()和nextLine()的区别:
图片说明

增强型for循环

主要用于数组或集合

for (声明语句:表达式) {
    //执行体
}
  • 声明语句:声明新的局部变量,其类型必须和数组元素的类型匹配,作用域限定在循环语句块,其值与此时数组元素的值相等。
  • 表达式:要访问的数组名,或返回值为数组的方法。

    方法的重载

    在一个类中的方法有相同的名称,但形参不同。规则:
  • 参数列表可以是个数不同、类型不同、参数排列顺序不同
  • 返回类型可以相同也可以不同
  • 但返回类型不同不足以构成方法的重载

    数组

  1. 先声明
    dataType[] arrayRefVar;
  2. 用new创建数组
    dataType[] arrayRefVar = new dataType[arraySize];

    内存分析

    • 存放new的对象和数组
    • 可以被所有的线程共享,不会存放别的对象引用
  • 存放基本变量类型(会包含这个基本类型的具体数值)
  • 引用对象的变量(会存放这个引用在堆中的具体地址)
  1. 方法区
  • 可以被所有的线程共享
  • 包含了所有的class

    初始化

  1. 动态初始化

  2. 静态初始化

  3. 默认初始化:数组是引用类型,其元素相当于类的实例变量,因此数组一经分配空间,其每个元素也被按照实例变量的方式被隐式初始化:数值型为0或0.0,Boolean为false,除了基本类型的其他都为null

    public class Demo01 {
     public static void main(String[] args) {
         //静态初始化
         int[] a = {1,2,3,4,5};
         a[2] = 11;
         System.out.println(a[2]);
    
         //动态初始化
         int[] b = new int[5];
         b[3] = 6;
         for (int i = 0; i < b.length; i++) {
             System.out.println(b[i]);
         }
     }
    }
    //输出:11
    0
    0
    0
    6
    0

    Arrays类

  • java.util.Arrays
  • Arrays类中的方法都是静态方法,直接使用类名调用,所以可以不用通过对象名调用
  • 常用方法:
    1. fill()方法给数组赋值
    2. sort()方法升序排序
    3. equals()方法比较数组中元素是否相等
    4. binarySearch()方法对有序数组进行二分查找
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务