程序地带

Java基础


1 变量
1.1 变量初始化
声明一个变量后,必须对变量进行显示初始化
int vactionDays;
System.out.println(vactionDays);//Error:(4, 28) java: 可能尚未初始化变量vactionDays
变量初始化原则 a. 先声明,后赋值
int vactionDays;
vactionDays = 1;
System.out.println(vactionDays);

b. 声明和赋值同时进行


int vactionDays = 1;
System.out.println(vactionDays);

c. 尽可能将变量声明在第一次使用变量的附近


1.2 常量

Java中用关键字final指示常量。


final double CM_PER_INCH = 2.54;
double paperWidth = 8.5;
double paperHight = 11;
System.out.println("Paper size in centimeters: "
+ paperWidth * CM_PER_INCH + " by " + paperHight * CM_PER_INCH);

关键字表示这个变量只能被赋值一次。一旦被赋值后就不能被更改了,习惯上,常量使用全大写。 与Scala比较,被val修饰的变量不能被再次更改了。


在Java中,经常希望某个常量可以在一个类中被多个方法使用,这样的常量被称为类常量,可以使用关键字static final设置一个类常量。


public class Demo01 {
public static final double CM_PER_INCH = 2.54;
public static void main(String[] args) {
final double CM_PER_INCH = 2.54;
double paperWidth = 8.5;
double paperHight = 11;
System.out.println("Paper size in centimeters: "
+ paperWidth * CM_PER_INCH + " by " + paperHight * CM_PER_INCH);
}
}

类常量被定义在main方法的外部,因此在该类中的其他方法都能使用该类常量,而且一个常量被public修饰,那么其他类也能使用该常量。


2 运算符

在Java中,使用算数运算符+,-,*,/表示加、减、乘、除运算。当两个操作数都是整数时,运算结果是整数,否则表示浮点出发。求余使用%符号。 整数被0除会产生异常,当浮点数被0除式,会得到无穷大或者NaN结果。


2.1 数学函数与常量

在Math类中,包含了许多数学函数。 计算一个数值的平方根用sqrt方法:


double x = 4;
double y = Math.sqrt(x);
System.out.println(y);

Java中没有幂运算,因此要借助pow方法,语句:


double x = 4;
double y = Math.pow(x,2);
System.out.println(y);

pow有两个double类型的参数,其返回值也是double类型的。


floorMod用于求余的,当除数和被除数都是正数时,和%操作符求余是一样的,但当被除数是负数时,为了得到正的模,该方法会调整被除数,通过被除数加除数,直至为正数时,在求模:


int y = Math.floorMod(-7,12);
System.out.println(y);//5

当为负数时,还是负数,在这里就不展开说明了。 Math类还提供了一些常用的三角函数:sin,cos,tan,atan,atan2 还有指数函数及其反函数:exp,log,log10 同时,还提供了用于表示Π和e常量的近似值:PI,E。


2.2数值类型之间的转换

参考文章


2.3 强制类型转换

强制类型转换的语法格式是在圆括号中给出想要转换的目标类型,后面紧跟带转换的变量名:


double x = 9.997;
int y = (int)x;//9 通过截断小数部分将浮点值转换为整型
int z = (int)Math.round(x);//舍入运算 10
2.4 结合赋值和运算符

可以在赋值中使用二元运算符: x += 4; 等价于 x = x + 4 一般地,要把运算符放在=号的左边,如 *=或者 %=。 如果运算符得到一个值,其类型与左边操作数的类型不同,就会发生强制类型转换。如果x是一个int,则 x +=3.5; 是合法的,将把x设置为(int)(x+3.5).


2.5 自增与自减运算符

n ++:使变量n当前值加1 n --:使变量当前值减1


int m = 7;
int n = 7;
int a = 2 * ++m;//16
int b = 2 * n++;//14

用在表达式中时,前缀会先完成计算;而后缀会使用变量原来的值。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/pageniao/article/details/112689420

随机推荐

oracle 锁表如何解决_Java高并发解决什么方式

对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,...

weixin_39648539 阅读(421)

四种常见激活函数

原文1、relu函数Relu激活函数的解析式Relu函数及其导数的图像如下图所示:Relu激活函数优点:当输入x<0时,输出为0,当x&g...

希望总会破灭,梦想总会归于平淡 阅读(394)

leetcode 219 周赛

周赛[1688.比赛中的配对次数](https://leetcode-cn.com/problems/count-of-matches-in-tournament/)1689.[十-二进制数的最少数目...

福尔摩东 阅读(972)

Linux学习Day6:编写Shell脚本、配置计划任务

Linux学习Day6:编写Shell脚本、配置计划任务

Shell脚本命令的工作方式有两种:交互式(Interactive):用户每输入一条命令就立即执行。批处理(Batch):由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多的命...

黑色幽默2020 阅读(217)

linux入门系列13--磁盘管理之RAID、LVM技术

linux入门系列13--磁盘管理之RAID、LVM技术

前一篇文章学习了磁盘分区、格式化、挂载等相关知识,本文将讲解RAID和LVM技术。磁盘管理操作主要是运维人员用的较多,如果只是单纯的开发人员,可以先略过本文。但是在很多小公司里往往都是一人多用,运维、...

黑马腾云 阅读(702)

<jsp:useBean>动作的使用

jsp:useBean动作的使用jsp:useBean动作用于在指定的范围内寻找指定名称的JavaBean对象,如果找到,则返回该对象的引用可以操作里边的属性。如果没有找到...

菜鸟一号是我实锤 阅读(657)

数据存储时间自动填充

项目中经常会遇到一些数据,每次都使用相同的方式填充,例如记录的创建时间,更新时间等。我们可以使用MyBatisPlus的自动填充功能,完成这些字...

qq_44855188 阅读(827)

php单服务器负责均衡

修改php网关配置cp/usr/local/php72/etc/php-fpm.conf/usr/local/php72/etc/php-fpm9001.confcp-r/usr/local/php7...

wondream322 阅读(959)

[Linux] ubuntu下yarn依赖管理工具的安装和使用

Yarn对你的代码来说是一个包管理器,你可以通过它使用全世界开发者的代码,或者分享自己的代码。Yarn做这些快捷、安全、可靠,所以你不用担心什么。通过Yarn你可以使用其他开发者针对不同问题的解决方案...

陶士涵 阅读(303)