栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java入门学习笔记(一)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java入门学习笔记(一)

目录

一、编写第一个java程序

1、java的基本格式

二、变量和数据类型以及运算符

1、进制的转换

2、 变量的使用

3、常量

4、数据类型

4.1整型的使用

4.2浮点类型

4.3字符类型

4.4boolean类型

5、运算符

5.1字符串连接符

5.2运算符优先级

5.3类型转换问题

三、java中实现简单的键盘输入

四、控制语句

1、条件判断语句

1.1if单分支结构

1.2if-else双分支结构

1.3if-else多分支结构

2、switch语句

2.1switch多分支结构(多值情况)

3.循环语句

3.1while循环

3.2do-while循环

3.3for循环

3.4嵌套循环 

3.5break和continue

3.6循环使用的练习

4、方法

4.1方法的声明及调用

4.2方法的重载

5、递归 


java第一周学习,前面的部分内容与c++语法基本一致,因此本周学习笔记当作c++复习以及对java入门的认知。

一、编写第一个java程序

1、java的基本格式

以输出hello world为例:

public class test {
    public static void main(String[] args) {
        System.out.println("hello world");
    }
}

 注意大小写不可以搞错。

二、变量和数据类型以及运算符

1、进制的转换

二进制、十进制、八进制、十六进制的相互转换与c++相同。

2、 变量的使用

 变量使用的要求和c++也是一致的。

注意:标识符开头不能是数字。

3、常量

常量是一个固定的值,一旦初始化就不可再次更改。

c++中初始化常量时候使用的是define,而java中使用的是final。

在学习之后的方法时上网查询了定义局部变量,类变量 ,实例变量的定义方法,在此先进行了解,之后学习中慢慢深入

public class TestTwo {
      //以下四个变量都是成员变量(全局变量)
      int num ;                         //属于基本数据类型的实例变量
      Integer obj ;                     //属于引用数据类型的实例变量
      static char ch = 'A';             //类变量(静态变量)
      final double constant= 12.6;      //属于常量的实例变量
     
     
      public void display(){
             //以下两个属于该方法的局部变量,必须先赋值才能使用,作用范围仅限于函数体之内
             int age = 1;
             String name = "Tom";
             System.out.println("name:"+name+";age: "+age);
      }
     
     
      public static void main(String[] args){
             System.out.println(num);           //这句会报错,因为num变量属于实例变量,只有将Test实例化之后才能使用
             System.out.println(Test.ch);       //这句则不会报错,因为ch属于类变量,不用实例化Test也能使用
            
             Test test = new Test();
             System.out.println(test.num);      //num为基本数据类型,打印出的默认值为0
             System.out.println(test.obj);      //obj为引用数据类型,打印出的默认值为null
      }
}

4、数据类型

java中数据类型可以分为基本数据类型和引用数据类型

基本数据类型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)、float(4字节)、double(8字节)、char(2字节)、boolean(1字节)。

引用数据类型:class(类)、interface(接口)、数组。

基本数据类型的使用与c++基本一致,引用数据类型之后再进行讨论。

4.1整型的使用

整型的使用在变量中以及提及,这里不做举例。

4.2浮点类型
public class test {
    public static void main(String[] args) {
        float a=3.14f;//float类型赋值的时候后面要加一个f,不然默认为double类型,double类型不能直接赋值给float类型。
        System.out.println(a);
        double c=3.1454;
        System.ouy.println(c);
    }
}

4.3字符类型
public class test {
    public static void main(String[] args) {
        char a='中';//由于java中使用的是unicode编码,因此可以直接输出汉字。                                                                             
        System.out.println(a);
        char c='u0061';//java中字符型的十六进制表示方法。
        System.out.println(c);
        String str=”我爱中国“;
        System.out.println(str);
      
    }
}

注意:以后我们所学的String表示字符串,本质是char类型构成的数组。java中的字符串不是基本数据类型,而是一个独立定义的类。

以上的转义字符会经常使用,要熟记。

4.4boolean类型

注意点:java中不能用0和非0代表true和false,与c++不同。

public class test {
    public static void main(String[] args) {
      boolean a=true;
      boolean b=false;
      if(a)System.out.println("ture");
      else System.out.println("false");
    }
}

5、运算符

java中各类运算符: 

 赋值运算符、扩展运算符、关系运算符、逻辑运算符,位运算符,条件运算符等等在c++中接触较多再此不具体介绍。

 注意,位运算符是指进行二进制位的运算,&等都是按位计算,另外<<左移运算符相当与乘2,>>右移运算符相当于除以2。

5.1字符串连接符

"+"运算符两侧操作数只要有一个是字符串(String类型,系统会自动把另一个操作数转换为字符串进行连接。

public class test {
    public static void main(String[] args) {
        String a="3";
        int b=4;
        System.out.println(a+b);//输出结果34。
        System.out.println("b="+b);//java中输出结果为b=4这种模式时,就要使用到字符串连接符,因此十分重要。

    }
}

5.2运算符优先级

由于在学习c++时对这块内容就不是很熟悉,因此在学习java时将此内容捎带复习。

5.3类型转换问题

类型转换分为自动类型转换和强制类型转换。

强制类型转换:用于强制转换一个数据的类型,c++中使用较多,这里不提及。

自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。

特例:int类型可以转换为byte,short和char类型。 

注意!类型转换较大数字的时候 ,要注意溢出。

三、java中实现简单的键盘输入

键盘输入:Scanna 

import java.util.Scanner;
public class test {
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        System.out.println("请输入你的用户名");
        String uname=s.nextLine();//输入一个字符串
        System.out.println("请输入你的年龄:");
        int age=s.nextInt();
        System.out.println("请输入你的月薪:");
        double month=s.nextDouble();
        System.out.println("程序运行结束");
        System.out.println("用户名:"+uname+" 年龄:"+age+" 月薪:"+month);
    }
}

注意,在开头要加上import。

四、控制语句

1、条件判断语句

1.1if单分支结构

语法结构:

if(布尔表达式){
语句块;
}

1.2if-else双分支结构

语法结构:

if(布尔表达式){
语句块;
}
else{
语句块2;
}

1.3if-else多分支结构

语法结构:

if(布尔表达式1){
语句块1;
}
else if(布尔表达式2){
语句块2;
}
else if(布尔表达式3){
语句块3
}
....
else if(布尔表达式n){
语句块n;
}
else{
语句块n+1;
}

2、switch语句

2.1switch多分支结构(多值情况)

语法结构:

switch(表达式){
    case 值1:
        语句 1;
        break;
    case 值2:
        语句 2;
        break;
  [default:
        默认语句;]
}

3.循环语句

3.1while循环

语法结构:

while(布尔表达式){
    循环体;
}

3.2do-while循环

语法结构:

do{
    循环体;
}while(布尔表达式);

注意:while和dowhile的循环体在java中不能使用while(a)或者while(1)这种格式,只能使用while(true)。 

3.3for循环

语法结构:

for(初始表达式;布尔表达式;迭代因子){
    循环体;
}

3.4嵌套循环 

3.5break和continue

break:中断循环,不执行剩下的循环语句。

continue:结束本次循环,进行下一次的循环。

带标签的break和continue语句直接使用,比如:continue outer; 

3.6循环使用的练习

用年薪计算来练习循环语句,因为本次练习存在ScannerLine和ScannerInt使用时缓冲区有回车的解决方法以及对字符串判断的相关事项,因此作为对于循环的一次练习。

package studyday1;
import java.util.Scanner;//使用Scanner类,目前的学习实现键盘输入的方法。
public class study2 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);//Scanner类的使用实现键盘输入。
            System.out.println("年薪计算程序");
            System.out.println("exit退出程序,next计算下一个年薪");
            while (true) {
                System.out.println("请输入月薪:");
                int monthSalary = scanner.nextInt();//获得一个整数。
                int yearSalary = monthSalary * 12;
                System.out.println("年薪是" + yearSalary);

                System.out.println("请输入命令(exit,next. 其他任意字符表示继续执行):");
                scanner.nextLine();//把之前读取整数时,缓冲区内所存在的输入的回车符读取,才能够用command读取新的字符串。如果不存在,则会直接跳过。
                String command= scanner.nextLine();//键盘获取一行字符串,目前所学前面一定要加一个scanner.nextLine()读取之前输入的回车。
                System.out.println(command+"=======");
                //注意!!这里的判断不能这么使用if("exit"==command),用等号表示对象的判断,这里要的是值的判断,因此无法使用。现阶段可以用数字代替退出按钮。
                if("exit".equals(command)){//判断字符串是否为exit和next。
                    System.out.println("退出软件");
                    break;
                }
                if ("next".equals(command)){
                 System.out.println("请重新输入新的数据......");
                 continue;
                }

                if(yearSalary>100000&&yearSalary<200000){
                    System.out.println("你的年薪超过了90%的人");
                }
                if (yearSalary>=200000){
                    System.out.println("恭喜你,你的年薪粗熬过了98%的人");
                }
            }
        }
    }

4、方法

方法就是一段完成特定功能的代码片段,类似于其他语言的函数。面向过程中,函数是最基本的单位,整个程序由若干个函数调用组成。面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。

4.1方法的声明及调用
方法的声明格式:[修饰符1 修饰符2...]  返回值类型  方法名(形式参数列表){
java语句;....
}
方法的调用格式:对象名.方法名(实参列表)
例子:

package studyday1;
public class study2 {
    public static void loveJava(int num) {//在java中,定义方法public static必须加,原因之后会了解。
//这里的void就和c++中的void a(){}一致,是没有返回值的,改为int就有返回值,并且最后用ruturn接收
        System.out.println("I love java"+num);
        System.out.println("I love java"+num);
    }
    public static void main(String[] args){
       loveJava(1);
       loveJava(100);
    }
}

4.2方法的重载

方法的重载是指一个类中可以定义多个方法名相同,但是形参不同的方法,根据不同的参数自动匹配对应的方法。

注意:重载中不同是指形参的个数,形参的类型,形参的顺序不同,形参的名称不同以及只有返回值不同(比如int a(String str)和void a(Strng str))不构成重载。

例子:
定义时:
public static int add(){
return 0;
}
public static int add(int a,int b){
return a+b;
}
调用时:
add();//进行第一个方法的调用
add(3,4);//进行第二个方法的调用

重载为了表达一个相同含义,比如都是add相加,一个2个整数相加,一个3个整数相加,一个2个浮点数相加,为了让其他人方便查看以及调用,就使用重载。

5、递归 

递归的基本思想就是“自己调用自己”。

递归结构体包括两个部分:定义递归头(什么时候不调用自己,如果没有递归头会出现死循环)和递归体(什么时候需要调用自己的方法)。

接下来接触一个求耗时的代码

long d1=System.currentTimeMillis();

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/715516.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号