Java基础语法知识

 前言 

我认为编程语言学习不适合速成,除非个人只想成为一个写代码的机器,所以不论如何都应该学习基础知识,就好像很多编程学习前都会先学习c语言,c语言就好像是引路人一样,让你认识什么是机器语言。(接下来的叙述将进行在有一点点机器语言的基础上) 

目录

 前言 

1. 基本数据类型

1.1 Java中的基本数据类型

2. 运算符

3.注释

4. 基本语法

4.1 变量的声明

4.2. 如何进行算数运算

4.3.  条件判断语句

4.3.1  if语句

4.3.2  switch语句

4.4.  循环语句体

 4.4.1 for循环语句

 4.4.2 while循环语句

 4.4.3 do ..... while 循环语句 

5. Scanner类获取用户输入


1. 基本数据类型

在认识基本数据类型之前我们先简单认识一下计算机存储单元:

1B(字节) =  8bit

1KB = 1024 B

1MB = 1024 KB

1GB = 1024 MB

1B = 1024 GB

在计算机中不论是内存还是硬盘,其最小的信息单元叫“位”,又叫比特位(bit),而计算机最基本的存储单元叫字节(byte),用大写字母B表示。

1.1 Java中的基本数据类型

从分类的角度:

  数据类型    基本数据类型整数(byte,short,int,long)
浮点数(float , double)
字符(char)
布尔(boolean){true ,false 只有这两个数据}
引用数据类型类、接口、数组

      补充说明一个常用类型:字符串类型 String ,这是一个引用类型,也是一个类。

关键字详细信息

数据类型        关键字             内存占用               取值范围
整数类型         byte                  1                         -128~127
                       short                  2                         -32768~32767
                       int                      4                         -2的31次方到2的31次方-1
                       long                   8                         -2的63次方到2的63次方-1


浮点类型        float                   4                          负数:-3.402823E+38到-1.401298E-45

                                                                            正数: 1.401298E-45到 3.402823E+38


                     double                 8                         负数:-1.797693E+308到-4.9000000E-324 

                                                                            正数:4.9000000E-324 到1.797693E+308
字符类型        char                    2                         0-65535

说明: e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。在java中整数默认是int类型,浮点数默认是double类型。


2. 运算符

符号

类别

说明符号类别说明
+算数运算符加法& / &&

逻辑运算符

与/短路与
-算数运算符减法| / ||逻辑运算符或/短路或
*算数运算符乘法>关系运算符大于
/算数运算符除法<关系运算符小于
%算数运算符取余数==关系运算符判断是否相等,是为true,否为false
=赋值运算符赋值操作!=关系运算符判断是否不等于,是为true,否为false  

    以上的运算符号并不全,还省略了大于等于,小于等于等常见的,还有移位运算符等等,不过对于初学这些会更为重要一点,其他的符号更多应题目相结合学习更适合。


3.注释

单行注释:在编辑器中以 “// ”来表示后面为本行代码注释,例:

int a = 10;  // 定义一个变量a,将10赋值给a

多行注释:下方代码进行了两行注释,然后还多写了一行单行注释。

 /*
        * 定义一个变量b,赋值为12,并进行b+1运算。
        */
        int b = 12;
        b++;   //与b=b+1结果相同,写法不同

注释的作用是为了让程序员自己更清楚下面要进行什么,避免代码过多思绪混乱,也可以增强代码的可读性,让别人能简单读懂。


4. 基本语法

    这里涉及到的就是Java这种语言的说话方式,我将从最简单的直接表达到复杂表达进行解释。

4.1 变量的声明

public class HelloWorld {                          //第一行
    public static void main(String[] args) {      //第二行

        int b = 12;               //声明变量,并初始化
        char a = 0;
        b++;
        System.out.println("=================");  //换行打印
        System.out.print(b+"a");             //不换行打印

    }
}

     上面这段代码我将分行讲解

第一行:这是建立一个主类,可以理解为一个你必须要做的一件事。

第二行:这是建立一个main函数,也可以称为主函数,也是你必须要做的事。

这是一种语法的规范,可以认为是模板。


        int b = 12;               //声明变量,并初始化
        char a = 0;
        

 这两行是对变量的声明,声明变量要初始化,初始化可以理解为对变量进行赋值。声明和赋值这两步在这个写法上是不可分割的。

4.2. 如何进行算数运算

public class HelloWorld {                          //第一行
    public static void main(String[] args) {      //第二行

        int b = 12;               //声明变量,并初始化
        int a = 1;
        int c = a+b;
        int C1 = a*b;
        int C2 = b/a;
        System.out.println(c);  //换行打印
        System.out.print(C1);//不换行打印

    }
}

我们看出我们在上面代码进行了加、乘、除,3种运算,我都是定义一个变量,然后把运算的值赋值给这个变量,这个做的目的是为了后面的打印,我们先来看一下这段代码的结果。

 这是上面代码运行的结果,如果我们不声明变量接收运算的值,只单独写运算,编译器器也会进行运算,不过后面的代码就要改变一下,将运算语句写入打印语句里面,如下。

public class HelloWorld {                          //第一行
    public static void main(String[] args) {      //第二行

        int b = 12;               //声明变量,并初始化
        int a = 1;
        System.out.println(b/a);

    }
}

4.3.  条件判断语句

   4.3.1  if语句

 if( boolean类型语句){要执行的语句体 }

 if(同上){语句体}  else{语句体}

if(同上){语句体}  else if(boolean类型语句){语句体} else if(boolean类型语句){语句体}.......else if(boolean类型语句){语句体} else{语句体}

以上3种就是if判断执行语句的语法,看如下用法:

public class HelloWorld {
    public static void main(String[] args) {
        int b = 2;
        int a = 1;
        int c = 100;
        /*
        第一种的if语句
         */
        if (b > a) {
            System.out.println("a比b大");
        }
        System.out.println("==================");
        
        /*第二种if语句*/
        if (a < b) {
            System.out.println("a的值是" + a);
        } else {
            System.out.println("b的值是" + b);
        }
        System.out.println("===================");
        
        /*
        第三种if语句
         */
        if (b - a == 0) {
            System.out.println(a);
        } else if (b - a == 1) {
            System.out.println(b + a);
        } else {
            System.out.println("你好");
        }
    }
}

上述代码按顺序实现了三种语句,我们初学可能会感觉这种判断语句不是一眼就能来看出答案吗,那干嘛不直接写关键代码,我们对于简单的判断当然可以直接判断,但编译器无法直接判断,编译器需要通过比较,才能执行,而且当条件很难是我们无法看出结果,编译器通过比较却可以,因此才会出现这样的代码规范。对于这种语句的学习经常敲代码才是熟悉的途径。好,让我们来看一下,运行结果。

4.3.2  switch语句

 switch(表达式){

        case 1 :

              语句体1;

                  break;

        case 2 :

              语句体2;

                  break;

         ........

        default:

              语句体n;

                  break;

}

我将写一个关于判断生肖的代码,用month代表月份然后用switch语句判断属相。

public class HelloWorld {
    public static void main(String[] args) {
        int month = 5;
     switch (month){
         case 1:
             System.out.println("属虎");
             break;
         case 2:
             System.out.println("属兔");
             break;
         case 3:
             System.out.println("属龙");
             break;
         case 4:
             System.out.println("属蛇");
             break;
         case 5:
             System.out.println("属马");
             break;
         case 6:
             System.out.println("属羊");
             break;
         case 7:
             System.out.println("属猴");
             break;
         case 8:
             System.out.println("属鸡");
             break;
         case 9:
             System.out.println("属狗");
             break;
         case 10:
             System.out.println("属猪");
             break;
         case 11:
             System.out.println("属鼠");
             break;
         case 12:
             System.out.println("属牛");
             break;
         default:
             System.out.println("输入错误");
     }
    }
}

switch 的表达式可以值也可以字符等,按类型说可以byte,short, int ,char, 也可以是枚举(和列举一个意思),也可以是String.

break:表示结束,表示中断,结束当前语句,不结束会继续执行。

default:很明显是所有条件都不符合就执行该语句体。

4.4.  循环语句体

   

  4.4.1 for循环语句

for(初始化语句,判断语句,条件控制语句){

循环体语句;

}

我将switch语句放到for循环中,然后根据month的变化执行不同值得switch语句。

public class HelloWorld {
    public static void main(String[] args) {
        int month = 0;
        for (month = 0; month < 13; month++) {
            switch (month) {
                case 1:
                    System.out.print(" 属虎");
                    break;
                case 2:
                    System.out.print(" 属兔");
                    break;
                case 3:
                    System.out.print(" 属龙");
                    break;
                case 4:
                    System.out.print(" 属蛇");
                    break;
                case 5:
                    System.out.print(" 属马");
                    break;
                case 6:
                    System.out.print(" 属羊");
                    break;
                case 7:
                    System.out.print(" 属猴");
                    break;
                case 8:
                    System.out.print(" 属鸡");
                    break;
                case 9:
                    System.out.print(" 属狗");
                    break;
                case 10:
                    System.out.print(" 属猪");
                    break;
                case 11:
                    System.out.print(" 属鼠");
                    break;
                case 12:
                    System.out.print(" 属牛");
                    break;
                default:
                    System.out.print(" 输入错误");
            }
        }
    }
}

运行结果如下,我将打印语句改成了不换行打印,并每次打印添加了空格,就形成下面的运行结果。for循环语句使用比较频繁,是基础语句中的常用语句。

 4.4.2 while循环语句

while(条件判断语句){

循环语句体;

条件控制语句;

}

while的执行是先判断,符合就执行语句提,然后执行条件控制语句,然后在判断是否符合,如此循环;直到不符合条件结束循环。

public class HelloWorld {
    public static void main(String[] args) {
        int i = 5;
        while (i >= 0) {
            System.out.print( " "+i );
            i--;
        }
    }
}

代码执行结果如下:

4.4.3 do ..... while 循环语句 

初始化语句;

do{

     循环语句;

     条件控制语句;

}while(条件判断语句);

这个循环体和while循环语句相似,不同的是do ......while 是先执行在判断,而while循环是先判断在执行。这个循环不在此演示了,始终要灌输的观念是多敲代码,这个循环留个你自己试试吧。


5. Scanner类获取用户输入

 1.导包:

import java .util. Scanner;

 2.创建Scanner对象 

Scanner sc = new Scanner(System.in);   //这个操作为创建类对象,sc 变量名 ,具体后面会学习到,此处记住就可

 3.接收数据

int c = sc.nextInt();   //用c 来接收键盘输入的值;这里是int 类型既只能接收int类型整数,要接收其他数据需要改变语句,其他可见jdk手册

public class HelloWorld {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数字");
        int c = sc.nextInt();
        while (c >= 0) {
            System.out.print( " "+c );
            c--;
        }
    }
}

运行结果:

好了,Java基础我就介绍到此,还有很多很多的操作与语法我没有可能没有概述完全,菜鸟出道,希望大家批评指正!后续还会在学习空闲之余更新博客,争取早日向大佬靠拢。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值