Java入门知识回顾

  • Java入门知识回顾
  • 标识符
  • 常量:
  • 变量:
  • 数据类型:
  • 数据类型转换
  • 运算符
  • 流程控制语句
  • debug
  • 获取键盘录入
  • 生成随机数
  • ArrayList集合(crud + 遍历)
  • Path环境变量的作用?
  • JAVA_HOME环境变量的作用?
  • 基本类型与引用类型的区别?
  • 数据类型范围从小到大排序
  • Java中的类型转换有哪些?特点如何?
  • 请说说,什么是数组的初始化?
  • 数组动态及静态初始化的格式?
  • 数组的遍历什么意思?
  • 如何判断一个数是否为偶数?
  • 如何获取一个5位数的每一位上的值?


Java入门知识回顾

环境搭建:
1.下载JDK
2.JDK环境变量配置注意:安装JDK,安装目录不要有中文和空格!!!

标识符

Java中,需要我们程序员取名字的,都是标识符
包括:变量名,方法名,类名

硬性规定:
变量名首字母不能为数字,且定义变量时禁止使用除$,_以外的其他符号,标识符不能有中文

软性规定:
变量名,方法名(使用小驼峰) 如:name,getName
类名(使用大驼峰) 如:Demo,HelloWorld

常量:

目前,代码中写死的值,用final修饰
如:private static final int MAX_SIZE = 1024;

变量:

变量的理解:
任何程序需要运行,都需要加载到内存中执行
变量就是运行时内存中的一小片空间,这片空间保存的值是可以改变的。我们通过变量名来使用这片内存。

数据类型:

java入门吧 java入门总结_java


java入门吧 java入门总结_java入门吧_02

数据类型转换

Java的基本数据类型包括八种:

整数类型(byte,short,int long)

浮点数类型(double,float)

布尔类型(boolean)

字符类型(char)

类型从小到大依次为:

byte < short <  int  <  long  <  float < double
                          (char)

1.Java基本类型之间转换的两种方式:
1). 自动(隐式)类型转换:从小类型到大类型,不需要强制转换符
2).强制类型转换:从大类型到小类型,需要强制转换符实现强制转换
3). 强制转换符:(需要转换成的类型)变量

2.关于byte、short、char赋值与运算的强转规则:
1).不参与运算,整数直接量可以直接赋值给byte,short,char,不需要强转。
2).byte,short,char型变量参与运算时,需要强转
如:byte a = 1; byte b = 2;
byte c = (byte)(a+b);

运算符

算术运算符 : +,-,*, / ,% ,++,–

赋值运算符 : = ,+=,-=,*=, /=,%=

逻辑运算符 : && , || , &, | , ! , ^

关系运算符 : >, >=, < ,<= ,==, !=

3元运算符 : 布尔表达式 ? 表达式1 : 表达式2

流程控制语句

1.顺序结构
2.选择结构 if else,switch
3.循环结构 for,while,do…while();,break,continue,return

break:
跳出总上一层循环,不再执行循环(结束当前的循环体)
continue:
跳出本次循环,继续执行下次循环(结束正在执行的循环,进入下一个循环条件)
return:
程序返回,不再执行下面的代码(结束当前的方法 直接返回)

debug

步骤:
1.打断点(方法的有效语句第一行)
2.右键,debug运行
3.F7,单步查看
4.红色正方形标记,停止
5.删除断点(左键再次单击断点删除)

注意:
1.调试中,如果遇到键盘录入的情况,必须录入数据才能继续
2.调试过程中,注意下方法的进栈弹栈
3.方法的参数类型是基本数据类型,是将数据值传入方法,各用各的,互不影响

快捷键:
1.F7单步运行
2.F9继续运行到下个断点处
3.F8单步跳过(不进入方法,方法内不要打断点)
4.Shift+F8跳出方法

获取键盘录入

Scanner sc = new Scanner(System.in);
int num = sc.nextInt();

生成随机数

//生成50-100范围内的随机数
//其 Random 对象的 nextInt(int) 方法,默认范围是0 ~ 参数之间随机取值的整数,如r.nextInt(100),取值范围是[0,100)。
Random r = new Random();
//公式:r.nextInt(max-min+1)+min;
int num = r.nextInt(100-50+1)+50;

ArrayList集合(crud + 遍历)

java入门吧 java入门总结_java入门吧_03


遍历方式:

1.迭代器(Iterator)

public class IteratorDemo1 {
    public static void main(String[] args) {
        //创建集合对象
        Collection<String> c = new ArrayList<>();

        //添加元素
        c.add("hello");
        c.add("world");
        c.add("java");
        c.add("javaee");

        //Iterator<E> iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到
        Iterator<String> it = c.iterator();

        //用while循环改进元素的判断和获取
        while (it.hasNext()) {
            String s = it.next();
            System.out.println(s);
        }
    }
}

2.普通for循环

public class ForDemo1 {
    public static void main(String[] args) {
        //创建集合对象
        List<String> list = new ArrayList<>();

        //添加元素
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");

		//普通for循环遍历
		for(int i = 0; i < list.size(); i++){
			System.out.println(list.get(i));
		}
    }
}

3.增强for循环

public class ForDemo1 {
    public static void main(String[] args) {
        //创建集合对象
        List<String> list = new ArrayList<>();

        //添加元素
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");

		//增强for循环遍历
		for(String str : list){
			System.out.println(str);
		}
    }
}

Path环境变量的作用?

Windows操作系统有个特性,你输入一个命令,例如:javac,它会在当前目录下寻找这个命令,如果找不到,它还会去Path配置的目录中寻找。这样,执行命令就比较方便,不用切换到命令所在的目录去执行,在任意盘符都可以执行命令。

JAVA_HOME环境变量的作用?

告诉其他依赖Java的程序jdk安装的根目录在哪里

基本类型与引用类型的区别?

基本类型变量保存的是数据值:
int i = 10;
引用类型变量保存的是地址值:
int[] arr = new int[3];

数据类型范围从小到大排序

byte(1字节)–>short,char(2字节)—>int(4字节)---->long(8字节)–>float(4字节)—>double(8字节)

了解:

浮点数与整数的存储规则不同,所以4个字节的float能保存比8个字节的long更大的数.

float vs long 哪个数据范围大?
float大

Java中的类型转换有哪些?特点如何?

赋值,运算,只要类型不一致,就会出现类型转换

1.自动类型转换(隐式转换): 特点从小到大,自动完成.

long lg = 100;  long = int;

		float f = 200L;  float = long;

2.强制类型转换(显式转换), 大变小

int i = (int)100L;

		int i = (int)10000000000L; //数据丢失

注意:
要确保目标类型的取值范围能容纳定义数值,否则会出现溢出
boolean不参与转换

请说说,什么是数组的初始化?

给元素分配空间,并为每个元素赋予默认值。

数组动态及静态初始化的格式?

int[]  arr = new int[3];//动态初始化,程序员指定数组长度,系统赋默认值

int[] arr = new int[] {1,2};//静态初始化,程序员提供初始化值,系统确定长度

int[] arr = {1,2}; //简化格式

数组的遍历什么意思?

将数组的元素依次取出来进行处理,可以打印,也可以对其进行赋值,也可以获取其值,最常见的操作是打印

如何判断一个数是否为偶数?

num % 2 == 0 //偶数

 num % 2 != 0  //奇数

如何获取一个5位数的每一位上的值?

int  num = 54321;

int wang = num / 10000  % 10;

int qian = num / 1000 % 10;

int bai = num / 100 % 10;

int shi = num / 10 % 10;

int ge = num % 10;