MYF

Java入门第一季

声明

本文内容(文字及图片)大部分来自慕课网——Java入门第一季,仅作为学习笔记,建议读者从慕课网获取更多相关内容。如该网站中素材不同意该笔记使用,请以评论形式告知,我会立即删除。

本课程学习时间:2015.12.22~2015.12.24 累计学习时间5h+-

变量和常量

Java中的关键字

java关键字

Hello World:

1
2
3
4
5
public class HelloWorld {
public static void main(String[] args){
System.out.println("hello imooc");
}
}

认识Java标识符

1.标识符:就是用于给 Java 程序中变量、类、方法等命名的符号。
可以由字母、数字、下划线(_)、美元符($)组成。

2.标识符不能是 Java 关键字和保留字。

3.标识符是严格区分大小写的。

4.标识符的命名最好能反映出其作用,做到见名知意。

变量是什么

1
2
3
4
5
6
public class HelloWorld{
public static void main(String[] args) {
String hobby="慕课网";
System.out.println(hobby);
}
}

如何命名Java变量

1、变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge

2、变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存“学生姓名”信息

Java中的数据类型

在 Java 的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。

基本数据类型:

Java中变量的使用规则

1、Java 中的变量需要先声明后使用

2、变量使用时,可以声明变量的同时进行初始化

也可以先声明后赋值

3、变量中每次只能赋一个值,但可以修改多次

4、main 方法中定义的变量必须先赋值,然后才能输出

5、虽然语法中没有提示错误,但在实际开发中,变量名不建议使用中文,容易产生安全隐患,譬如后期跨平台操作时出现乱码等等

Java中的自动类型转换

从int型转化为double型这种转换称为自动类型转换。

当然自动类型转换是需要满足特定的条件的:

  1. 目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型
  2. 目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了

Java中的强制类型转换

语法:( 数据类型 ) 数值

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

例:

1
2
3
4
5
6
7
8
public class HelloWorld{
public static void main(String[] args) {
double heightAvg1=176.2;
int heightAvg2=(int)heightAvg1;
System.out.println(heightAvg1);
System.out.println(heightAvg2);
}
}

Java常量的应用

所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变

语法:final 常量名 = 值;

注:

  1. 类似于C/C++中的const
  2. 常量名一般使用大写字符
1
2
3
4
5
6
7
8
public class HelloWorld{
public static void main(String[] args) {
final String MALE="男";
final String FEMALE="女";
System.out.println(MALE);
System.out.println(FEMALE);
}
}

如何在Java中使用注释

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 这是文档注释
*/
public class HelloWorld{
public static void main(String[] args) {
//System.out.println("Java");
System.out.println("imooc");
/*
System.out.println("Oracle");
System.out.println("MySQL");
*/
}
}

常用的运算符

什么是运算符

Java 语言中常用的运算符可分为如下几种:


  • 算术运算符

  • 赋值运算符

  • 比较运算符

  • 逻辑运算符

  • 条件运算符

Java中的算术运算符

Java中的赋值运算符

Java中的比较运算符

Tips:

  1. > 、 < 、 <= 、 >= 只支持左右两边操作数是数值类型
  2. == 、 != 两边的操作数既可以是数值类型,也可以是引用类型
  3. 返回值为true或false

Java中的逻辑运算符

Java中的条件运算符

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

运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值

1
2
3
4
5
6
7
public class HelloWorld{
public static void main(String[] args) {
int score=68;
String mark = score>=60?"及格":"不及格";
System.out.println("考试成绩如何:"+mark);
}
}

Java中运算符的优先级

备注:优先执行靠上的。

流程控制语句

Java条件语句之 if

if…else if…else

1
2
3
4
5
6
7
8
9
10
11
12
13
public class HelloWorld {
public static void main(String[] args) {
int age=25;
if(age > 60)
System.out.println("老年");
else if(age >40)
System.out.println("中年");
else if(age > 18)
System.out.println("少年");
else
System.out.println("童年");
}
}

if嵌套调用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class HelloWorld {
public static void main(String[] args) {
int score = 94;
String sex = "女";
if(score>80){
if(sex.equals("女")){
System.out.println("进入女子组决赛");
}
else{
System.out.println("进入男子组决赛");
}
}
}
}

Java条件语句之 switch

  • switch 后面小括号中表达式的值必须是整型或字符型
  • case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2
  • case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束
  • 可以把功能相同的 case 语句合并起来
  • default 块可以出现在任意位置,也可以省略


  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    public class HelloWorld {
    public static void main(String[] args) {
    char today='日';
    switch(today){
    case '一':
    case '三':
    case '五':
    System.out.println("吃包子");
    break;
    case '二':
    case '四':
    case '六':
    System.out.println("吃油条");
    break;
    case '日':
    System.out.println("吃主席套餐");
    break;
    }
    }
    }

    Java循环语句之 while

    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class HelloWorld {
    public static void main(String[] args) {
    int i = 1;
    while (i<=5 ) {
    System.out.println(i);
    i++;
    }
    }
    }

    Java循环语句之 do…while

    注:循环体的内容至少被执行一次!

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class HelloWorld {
    public static void main(String[] args) {
    int sum = 0;
    int num = 2;
    do {
    sum += num;
    num = num + 2;
    } while (num<=50);
    System.out.println(" 50以内的偶数之和为:" + sum );
    }
    }

    Java循环语句之 for

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class HelloWorld {
    public static void main(String[] args) {
    int sum = 0;
    for (int i = 1; i<=100 ;i++ ) {
    if (i % 3 != 0) {
    sum = sum + i;
    }
    }
    System.out.println("1到100之间不能被3整除的数之和为:" + sum);
    }
    }

    Java循环跳转语句之 break

    使用 break 语句退出指定的循环,直接执行循环后面的代码。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    /*
    循环将 1 到 10 之间的整数相加,如果累加值大于 20,则跳出循环,并输出当前的累加值。
    */
    public class HelloWorld {
    public static void main(String[] args) {
    int sum = 0;
    for (int i = 1; i <= 10; i++) {
    sum = sum + i;
    if ( sum>20 ) {
    System.out.print("当前的累加值为:" + sum);
    break;
    }
    }
    }
    }

    Java循环跳转语句之 continue

    continue 的作用是跳过循环体中剩余的语句执行下一次循环。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class HelloWorld {
    public static void main(String[] args) {
    int sum = 0;
    for (int i = 1; i <= 10; i++) {
    if ( i%2 == 1) {
    continue;
    }
    sum = sum + i;
    }
    System.out.print("1到10之间的所有偶数的和为:" + sum);
    }
    }

    Java 循环语句之多重循环

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class HelloWorld {
    public static void main(String[] args) {
    System.out.println("打印直角三角形");
    for (int i = 1; i<=3;i++) {
    for (int j = 1; j<=8;j++) {
    System.out.print("*");
    }
    System.out.println();
    }
    }
    }

    编程练习

    输入

    步骤:

    1
    2
    3
    4
    5
    6
    7
    8
    //1. 导入java.util.Scanner
    import java.util.Scanner
    //2. 创建Scanner对象
    Scanner input = new Scanner(System.in);
    //3. 接收并保存用户输入的值
    String str = input.next();
    int a = input.nextInt();
    double b = input.nextDouble();

    多数据输入方法:

    1
    2
    3
    4
    5
    6
    Scanner input = new Scanner(System.in);
    for(){
    for(){
    a=input.nextInt();
    }
    }

    输出

    1
    2
    System.out.print();//输出信息后不换行
    System.out.println();//输出信息后换行

    Debug on Eclipse

    1. 双击行号左边的蓝色部分设置断点
    2. 点击甲壳虫(debug按钮)
    3. Step Over(F6)单步调试
    4. 观察调试窗口变量变化

    Tips

    输入Main 按alt/option + ‘/‘自动补全main函数

    数组

    如何使用 Java 中的数组

    1
    2
    3
    4
    5
    6
    //使用方法1:
    int[] scores;
    scores = new int[5];
    scores[0] = 1;<Br/>//使用方法2
    int[] scores[]={1,2,3,4,5};<Br/>//使用方法3
    int[] scores = new int[]{1, 2, 4}

    使用循环操作 Java 中的数组

    Tips:

    • 数组名.length 用于获取数组的长度
    • 数组下标从 0 开始
    • 数组下标的范围是 0 至 数组长度-1


    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      public class HelloWorld {
      public static void main(String[] args) {
      String[] hobbys = { "sports", "game", "movie" };
      System.out.println("循环输出数组中元素的值:");
      for(int i = 0; i< hobbys.length; i++){
      System.out.println(hobbys[i]);
      }
      }
      }

      Arrays 类

      慕课网Array类应用:www.imooc.com/wiki/view?pid=77

      排序

      语法:Arrays.sort(数组名);//升序

      将数组转换为字符串

      语法:Arrays.toString(数组名);

      给数组赋值

      语法:Arrays.fill(数组名, 值);

      比较数组

      语法:Arrays.equals(array1, array2);

      二分查找

      语法:Arrays.binarySearch(array1, 3);

      使用 foreach 操作数组

      语法:

      举例:

      Java 中的二维数组

      1、 声明数组并分配空间



      或者



      如:


      2、 赋值

      二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始



      也可以在声明数组的同时为其赋值



      如:



      3、 处理数组

      二维数组的访问和输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。如:

      Tips:
      在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。如果每行的列数不同,则创建的是不规则的二维数组,如下所示:

      方法

      如何定义 Java 中的方法

      如何使用 Java 中的方法

      1. 定义方法
        注:需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式
      2. 调用方法
        语法:对象名.方法名();


      3. 举例: