1.5-java的语法基础(初学)

java的语法基础(初学)

回到第一章:目录




前言

上一篇了解的java程序运行的入口函数和package的作用,这节介绍java的语法要点:语法关键字,8个基本数据类型,循环和分支语句。

若想进一步学习更多的java语言知识,推荐一本电子书:JAVA语言程序设计_基础篇
链接:https://pan.baidu.com/s/1aAXbPtwfoQfFWw1oBNQOfQ
提取码:finl


一、语法关键字

java语言中,被设定为语法关键字的如下表这些单词,这些单词不能用来作为变量名。每个关键字具有一定的功能含义。
在这里插入图片描述

二、8个基本数据类型

将以下代码复制到JavaGrammar.java文件中并运行,练习8个基本数据类型的用法。

package com.my.first; // package 必须放在第一行,
//com.my.first 指明了这个文件的代码在项目根下的 com/my/first位置

// JavaGrammar 是类名称,必须和文件名称保持一致;class是类修饰符,表明JavaGrammar是一个类。
//public 是修饰类JavaGrammar的访问权限(可见性),public表示其他包的类也可以使用这个类。
public class JavaGrammar {
    //main函数是java程序的入口,public static void main(String[] args) 是规定的标准写法。String[] args、是程序在运行时可接受的参数。
    public static void main(String[] args) {

        /**java 中8个基本数据类型为 */
        byte b;  //字节类型,指的是是一个字节,也就是8个bit ,1个byte占8位
        char level;  //字符类型,1个char站16位,存储Unicode码,1个char能表示一个字符(中文,英文或其他国家文字都可以),一个char可以表示一个  ’a‘ 或 一个 ’啊‘ 或 ’-‘ 等
        short age; //短整型数字类型,1个short占16位空间,最大可表示65536(无符号情况下),数据范围可表示 -32768~32767 之间的整数。
        int days; //整型,1个int占32位,可表示 负2的31次方(-2147483648) 到 正2的31次方-1(2147483647)  之间的整数,最大可表示2的32次方-1(无符号情况下)
        long  id; //长整型,1个int占64位,可表示 负2的63次方(-9223372036854775808) 到 正2的63次方-1(9223372036854775807)  之间的整数,最大可表示2的64次方-1(无符号情况下)
        float score; //单精度浮点类型,1个float占32位,可表示3.4e-45~1.4e38,
        double rate; //双精度浮点类型,1个double占64位,可表示4.9e-324~1.8e308
        boolean passed; //布尔型, 1个boolean理论上占1位,实际在虚拟机中可能占32位。

        System.out.println("byte型:");
        /**byte 型赋值*/
        b = 'a'; //
        System.out.println(b); // 字母a对应Unicode码是97
        b = 1 ;
        System.out.println(b);
       // b = '啊'; //不可以将汉字赋值给byte;

        System.out.println("char:");
        /**char 型赋值*/
        level = 'a';
        System.out.println(level);
        level = 1111;
        System.out.println(level);//Unicode码为1111对应的字符为ї,
        level = '啊';
        System.out.println(level);

        System.out.println("short:");
        /**short 型赋值*/
        age = 'a';
        System.out.println(age);// 字母a对应Unicode码是97
        age = 1111;
        System.out.println(age);
        age = '啊';
        System.out.println(age);// 字符 啊 对应的Unicode码为21834

        System.out.println("int:");
        /**int 型赋值*/
        days = 1111;
        System.out.println(days);
        //days = 1111111111111;  // 将过大的整数赋值给int会编译不通过

        System.out.println("long:");
        /**long 型赋值*/
        id = 111111111111l;  //为long型赋值最后加L
        System.out.println(id);

        System.out.println("float:");
        /**float 型赋值*/
        score = 3.1415926535897931f; //为单精度浮点型赋值,最后加f
        System.out.println(score); // 结果是3.1415927

        /**double 型赋值*/
        rate = 3.1415926535897931d;//为双精度浮点型赋值,最后加d
        System.out.println(rate);// 结果是3.141592653589793

        System.out.println("boolean:");
        /**boolean 型赋值*/
        passed = true;//只能是true 或 false
        System.out.println(passed);// 结果是3.141592653589793

    }
}

三、循环代码块写法

循环写法常用的是2种:for循环和while循环,
如果知道循环次数的,一般用for循环
不知道循环次数的,一般用while循环
在上面工程的com.my.first包下面,新建一个类,名为:Loop,复制以下内容:
运行查看结果,体验2种循环的使用区别。

package com.my.first;

import java.util.Arrays;
import java.util.Random;

public class Loop {
    public static void main(String[] args) {
        //每一种基本数据类型都有数组类型
        int[] ages = new int[10]; //创建一个具有10个元素的int型数组
        /**for 循环 : 实现为数字ages的每个元素赋值*/

        System.out.println("ages初始化前的值:");// println 打印后自动再打印一个换行
        for(int i=0; i<10; i++){
            System.out.print(ages[i]); // print 打印数据
            System.out.print(',');  // print 打印一个逗号
        }


        for(int i=0; i<10; i++){  //i 是循环计数器,从0开始,每次执行完后i增加1,直到不满足 i<10(也就是1>10)时停止循环
            ages[i] = i;          //数组,通过下标访问第N个元素的方法  ages[n];
        }

        System.out.print('\n');
        System.out.println("ages初始化后的值:");
        for(int i=0; i<10; i++){
            System.out.print(ages[i]);
            System.out.print(',');
        }


        /**while 循环 :找一个能整除15的整数*/
        System.out.print('\n');
        boolean flag = true;
        int a = 15,b=0,k=0;
        while( flag ){ //while循环,当flag == true 时执行循环体的内容,当flag=false时,停止执行循环
            k++;
            b = new Random().nextInt(15);//获取一个0-15之间的随机整数
            if(a%b == 0){  // % 的含义是 求 a除以b的余数
                flag = false;
                System.out.println("经过"+k+"次,找到能整除15的数字:"+b);
            }

        }

    }
}

四、分支代码写法

常用的分支代码有2种写法:
1、使用if-else:一般条件比较少时使用,使用时概率最大的放前面。
2、使用switch:条件比较多时使用,性能比if-else好。
在上面工程的com.my.first包下面,新建一个类,名为:Branch ,复制以下内容:
运行查看结果,体验2种分支语句的使用区别。

package com.my.first;

public class Branch {
    public static void main(String[] args) {

        /**使用if-else,根据分数判断等级*/
        float sore = 89;
        if(sore >=90 && sore <=100){
            System.out.println("你的等级是A");
        }else if(sore < 90 && sore >=80){
            System.out.println("你的等级是B");
        }else if(sore < 80 && sore >=70){
            System.out.println("你的等级是C");
        }else if(sore < 70 && sore >=0){
            System.out.println("你的等级是D");
        }else{
            System.out.println("数据不合法");
        }
        /**使用 switch分支,根据等级判断 优良中差*/
        char flag = 'D';
        switch (flag){
            case 'A':{
                System.out.println("优");
                break;
            }
            case 'B':{
                System.out.println("良");
                break;
            }
            case 'C':{
                System.out.println("中");
                break;
            }
            case 'D':{
                System.out.println("差");
                break;
            }
            default:{
                System.out.println("输入有问题");
            }
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值