Java学习笔记之数据变量与操作

参考书籍

参考书籍

变量与命名常量

标识符

在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。


标识符命名规则

  • 标识符是由字母,数字,下划线(_)和美元符号($)构成的字符序列。
  • 标识符必须以字母,下划线(_)或美元符号($)开头,不能以数字开头
  • 标识符不能是保留字。
  • 标识符不能是true,false或null。
  • 标识符可以为任意长度。

变量

变量是用于存储程序中后面要用的值,它们被称为变量是因为它们的值可以改变。
基本语法: datatype variableName


// 变量命名示例
int i,j,k;
int count=1;
//相当于
//int count ;
//count=1;
int a=1,b,m=2;

命名常量

变量的值在程序执行过程中可能会发生变化,但是命名常量表示从不改变的数据。
基本语法:final datatype CONSTANTNANME = value;
习惯上,常量中的所有字母都大写。
常量必须在同一条语句中声明和赋值。


//示例
final double PI = 3.1415926;

使用常量的三个好处:

  1. 当一个值多次使用时,不必重复输入。
  2. 如果必修修改常量值,只需在源代码中一个地方改动。
  3. 给常量赋值一个描述性名字会提高程序易读程度。

命名习惯

  • 使用小写字母命名变量和方法。例如:变量numberOfStudent(驼峰命名法
  • 类名中的每个单词的首字母大写。例如:类名ComputerArea和System。
  • 常量中所有字母大写,两个单词用下划线连接。例如:常量PI和常量MAX_VALUE。

操作符

数值操作符

运算符名字示例运算结果
+34+135
-34.0-0.133.9
*乘法300*3900
/1.0/2.00.5
%求余20%32

自增和自减操作符

操作符名称描述示例(假设i=1)
++var前置自增将var加1,在语句中使用新的var值。int j= ++i;//j is 2,i is 2
var++后置自增将var加1,但在语句中使用旧的var值。int j= i++;//j is 1,i is 2
–var前置自减将var减1,在语句中使用新的var值。int j= --i;//j is 0,i is 0
var–后置自减将var减1,在语句中使用旧的var值。int j= i–;//j is 1,i is 0

数值类型转换

在Java语言中两个不同类型的操作数可以进行二元运算。如果在一个二元运算中,其中一个操作数是整数,而另一个操作数为浮点数,Java会自动将整数转换为浮点数。固,3/4.5等同于3.0/4.5。

总是可以将一个数值赋值给支持更大数值范围的类型的变量。但是,如果不进行类型转换,就不能将一个赋值给范围较小的类型的变量。

类型转换是将一种数据类型的值转换成另一种数据类型的值的操作。

将范围较小的类型转换为较大的类型称为扩展类型
将范围较大的类型转换为较小的类型称为缩小类型
缩小类型必须显式完成

类型转换的语法要求将目标类型放在括号里,紧跟其后的是要转换的变量名或值。

System.out.println((int)1.7);
//显示结果为1.当double类型转换为int类型时,小数部分被截去。
System.out.println((double)1/2);
//显示结果为0.5,1首先被转换为1.0
System.out.println(1/2);
//显示结果为0,因为1,2都为整数,结果也为整数。

注意:类型转换不改变被转换变量。

double d=4.5;
int i=(int)d;
//i becomes 4,but d is still 4.5

注意:java中,类似 x1+=x2形式的增强赋值表达式实现为x1=(T)(x1 = x2),这里T是x1的类型。因此,下面代码是正确的

int sum=0;
sum+=4.5;
//等价于sum=(int)(sum+4.5)

示例:显示当前时间

public class ShowCurrentTime {
  public static void main(String[] args) {
    // Obtain the total milliseconds since midnight, Jan 1, 1970
    long totalMilliseconds = System.currentTimeMillis();

    // Obtain the total seconds since midnight, Jan 1, 1970
    long totalSeconds = totalMilliseconds / 1000;

    // Compute the current second in the minute in the hour
    long currentSecond = totalSeconds % 60;

    // Obtain the total minutes
    long totalMinutes = totalSeconds / 60;

    // Compute the current minute in the hour
    long currentMinute = totalMinutes % 60;

    // Obtain the total hours
    long totalHours = totalMinutes / 60;

    // Compute the current hour
    long currentHour = totalHours % 24;

    // Display results
    System.out.println("Current time is " + currentHour + ":"
      + currentMinute + ":" + currentSecond + " GMT");
  }
}

结果示例
Current time is 17:31:8 GMT
本示例是开发一个以GMT(格林威治标准时间)来显示当前时间的程序:
调用System.currentTimeMillis()方法获取1970年1月1日午夜到现在的毫秒数。

思考如何精准计算到当前时间。
下期公布

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值