JAVASE学习02(语法基础)

Java语法基础

Java语法格式

Java 是从类中的 main 方法开始执行的。

  • 每个 Java 程序至少应该有一个类。每个类都有一个名宇。按照 惯例,类名都是以大写字母开头的。
  • 程序是从 main 方法开始执行的。一个类可以包含 几个方法。main 方法是程序开始执行的人口。
  • Java中的每条语句都以分号(; )结束, 也称为语句结束符(statement terminator)。
  • 保留字(reserved word)或关键字(keyword) 对编译器而言都是有特定含义的,所以不 能在程序中用于其他目的。例如,当编译器看到字 class 时,它知道 class 后面的字就是这 个类的名字。程序中的其他保留字还有 Public、static 和 void。
  • 注释标注该程序是干什么的,以及它是如何构建的。注释帮助 程序员进行相互沟通以及理解程序。注释不是程序设计语句,所以编译器编译程序时是忽略 注释的。在 Java中,在单行上用两个斜杠(//)引导注释,称为单行注释;在 一 行 或 多 行 用 和 /* 括住注释,称为多行注释。当编译器看到 // 时,就会 忽略本行 // 之后的所有文本。当看到 /* 时,它会搜索接下来的 */,并忽略掉 /*与 */ 之间 的文本。
    注意:
  • 多行注释不能嵌套使用。
  • 一个左括号必须匹配一个右括号。任何时候,当输入一个左括号时,应该立即榆入 一个右括号来防止出现遣漏括号的错误。大多数 Java IDE 都会自动地为每个左括号插入 一个右括号。
  • Java 淥程序是区分大小写的。如果在程序中将 main 替换成 Main, 就会出错。
    Java既然有它的语法格式,那不符合它的语法的话肯定会有语法错误,所谓语法错误就是在编译过程中出现的错误称为语法错误(syntax error) 或编译媒误(compile error)。语 法错误是由创建代码时的错误引起的,例如:拼错关键字,忽略了一些必要的标点符号,或 者左花括号没有对应的右花括号。这些错误通常很容易检测到,因为编译器会告诉你这些错 误在哪儿,以及是什么原因造成的。
    初学者编写程序可以养成以下习惯:
  • 先写注释再写代码
  • 将自己的思想通过注释先整理出来
  • 用代码去实现

Java常量和变量

  • 常量:程序中固定不变的值。
  • 常量的命名:命名常量是一个代表不变值的标识符。
  • 常量分类:
    整数常量:所有整数 正整数 零 负整数
    小数常量:所有小数 个数值。true false
    字符常量:将一个数字字母或者符号用单引号( ’ ’ )标识
    字符串常量:将一个或者多个字符用双引号(“ ”)标识
    null常量:只有一个数值就是:null
    使用常量有三个好处:
    1 )不必重复输入同一个值;
    2) 如果必须修改常量值(例如,将 PI的值从 3.14 改为 3.141S9),只需在源代码中的一个地方做改动;
    3 ) 给常量陚一个推述 性名字会提高程序易读性
  • 变量:变量表示内存中的一个存储区域,该区域用来不断的存放同一类型的常量数据,并可以 重复使用这个区域。并且这个区域有自己的名称(变量名)和类型(数据类型)。
  • 定义变量的格式
    数据类型 变量名 = 初始化值
  • 变量的起名
    变量表示内存中的一个存储区域,这时必须给这个区域起个名字 ,才能使用。当在给 变量起名时,同样需要直观易懂。
    注意:在賦值给变量之前,必须声明变量。方法中声明的变量在使用之前必须被斌值。 任何时候,都要尽可能一步完成变量的声明和斌初值。这会使得程序易读,同时避免 程序设计错误。

Java数据类型

Java的数据类型分为基本数据类型和引用数据类型:
基本数据类型

  • 整数类型(byte、short、int、long)
  • 浮点类型(float、double)
  • 字符型(char)
  • 布尔型(boolean)

引用数据类型

  • 类(class)
  • 接口(interface)
  • 数组([ ])
    整数默认:int 小数默认:double

从键盘读取值

可以使用 Scanner 类中的 方法来从键盘读取一个数值:
在这里插入图片描述

算数运算符

数值操作符 数值数据类型的操作符包括标准的算术操作符:加号(+)、减号(-)、乘号(*)、除号(/)和求余号 (%),操作数是被操作符操作的值。
在这里插入图片描述
当除法的操作数都是整数时,除法的结果就是整数,小数部分被舍去。例如:5/2 的结 果是 2 而不是 2.5,而-5/2 的结果是-2 而不是-2. 5。为了实现浮点数的除法,其中一个操 作数必须是浮点数。例如:5. 0/2 的结果是 2.5。
操作符%, 被称为求余或者取模操作符,可以求得除法的余数。左边的操作数是被除 数,右边的操作数是除数。因此,7%3 的结果是1, 3%7 的结果是 3, 12%4 的结果是 0, 26%8 的结果是 2。

自增和自减操作符

自增操作符(++) 和自减操作符(–) 是对变量进行加 1 和减 1 的操作。
i++读为 i 加 加,i-- 读 为 i 减减。这些操作符分别称为后置自增操作符和后置自减操 作符,因为操作符和–放在变量后面。
++i 和 --i 这些操作符称为前置自增操作符和前置自减操作符。
自加自减运算单独存在时,放右放左是没有区别的,然而,当用在表达式中不单纯只进行自增和自减时,它们就会产生不同的效果:
在这里插入图片描述### 数值类型转换
通过显式转换,浮点数可以被转换为整数。
可以完成两个不同类型操作数的二元运算吗?当然可以。如果在一个二元运算中,其中一个操作数是整数,而另一个操作数是浮点数,Java 会自动地将整数转换为浮点值。这样, 34.5 就成了 3.04. 5。 总是可以将一个数值赋给支持更大数值范围类型的变量,例如,可以将 long 型的值赋 给 float 型变量。但是,如果不进行类型转换,就不能将一个值赋给范围较小类型的变量。 类型转換是一种将一种数据类型的值转换成另一种数据类型的操作。将一个小范围类型的变 量转换为大范围类型的变量称为拓宽类型(widening a type), 把大范围类型的变量转换为小 范围类型的变量称为缩窄类型(narrowing a type)。Java 将自动拓宽一个类型,但是,缩窄 类型必须显式完成。
注意: 如果要将一个值賦给一个范围较小类型的变量,例如:将 double 型的值賦给 int 型变量,就必须进行类型转换。如果在这种情况下没有使用类型转换,就会出现编译错 误c 使用类型转換时必须小心,去失的信息也许会导致不精确的结果。
知识点的理解需要通过实践来完成,接下来我们就通过具体代码来加强对某些知识点的理解:
我们先来看两道题:一:假如你希望开发一个程序,将给定的钱数分成较小的货币单位。这个程序要求用户输入 一个 double 型的值,该值是用美元和美分表示的总钱数,然后输出一个清单,列出和总钱 数等价的最大数量的dollar( 1 美元)、quarter( 2 角 5 分)、dime( 1 角) 、nickel(5分)和 penny( 1 分)的数目,按照这个顺序,从而使得硬币最少。

class Home03{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);//创建Scanner对象,用于输入数据
        System.out.print("输入的总钱数为:");//提示用户输入总钱数
        double num=scanner.nextDouble();
        int n=(int)(num*100);//将该钱数转换为 1 分币的个数
        int dollar=n/100;//通过将 1 分币的个数除以 100, 求出 1 美元的个数
        n=n%100;//通过对1分币的个数除以 100 求余数,得到剩余 1 分币的个数 
        int quarter=n/25;//通过将剩余的1分币的个数除以 25,求出2角 5分币的个数
        n=n%25;//通过对剩余的 1 分币 的个数除以 25 求余数,得到剩余 1 分币的个数 
        int dime=n/10;// 将剩余的 1 分币的个数除以 10,求出 1 角币的个数
        n=n%10;//通过对剩余的 1 分币的个数除 以 10求余数,得到剩余 1 分币的个数 
        int nickel=n/5;// 将剩余的 1 分币的个数除以 5, 求出 5 分币的个数
        n=n%5;//通过对剩余的 1 分币的个数除 以 5 求余数,得到剩余 1 分币的个数 
        int penny=n;//剩余 1 分币的个数即为所求
        System.out.print("输出清单为:"+dollar+"," + quarter+"," + dime+"," + nickel+","+penny);
    }
}

程序运行结果:在这里插入图片描述二:编写程序,读取一个在0和1000之间的整数,并将该整数的各位数字相加。例如:整数是932,各位数字之和为14。

/*
数据:输入的整数num 若干余数a、b、c 余数总和sum
步骤:
1.定义相关的变量
2.提示用户输入一个数字 932
3.该数字对10取余,得到个位数字a,该数字自除10 
4.该数字对10取余,得到十位数字b,该数字自除10
5.该数字对10取余,得到百位数字c
6.将abc累加到sum
7.将sum打印
 */ import java.util.Scanner;
 class Home02{
     public static void main(String[] args){
         Scanner scanner=new Scanner(System.in);//创建Scanner对象,用于输入数据
         System.out.print("Enter a number between 0 and 1000:");//提示用户输入一个三位数
         int num=scanner.nextInt();//调用scanner对象的nextInt方法,输入一个整数
         int a=num%10;//该数字对10取余,得到个位数字a,
         num=num/10;//该数字自除10 
         int b=num%10;//该数字对10取余,得到十位数字b
         num=num/10;//该数字自除10
         int c=num%10;//该数字对10取余,得到百位数字c
         int sum=a+b+c;
         System.out.println("The sum of the digits is "+sum);
     }
 }

在这里插入图片描述
以上程序就用到了除号和求余符号,还有Scanner对象,通过对这两道题的解答可以更加加深我们对这些知识点的理解。因此大家有空就多敲些代码!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值