Java的基本程序设计结构(上)
在Java中,每一个变量属于一种类型(type)。在声明变量时,变量所属的类型位于变量名之前。
例如:
double salary;
int vacationDays;
long earthPopulation;
boolean flag;
注:变量名对大小写敏感,hireDay和hireday就是不同的两个变量。
变量初始化
申明一个变量之后,必须用赋值语句对变量进行显式初始化,千万不要使用未被初始化的变量。
Error:
int hireDay;
System.out.println(hireDay);
Success:
int hireDay02 = 5;
System.out.println(hireDay02);
注:在Java中,变量的声明尽可能地靠近变量第一次使用的地方,这是一种良好的程序编写风格。
常量
在Java中,利用关键字final指示常量。
例如:
final double BIRD_GREED = 100;
关键字final表示这个变量只能被赋值一次。一旦被赋值之后,就不能在进行更改了。习惯上常量名使用全大写。
常量又分为方法常量和类常量。
方法常量是定义在方法内,只能供这个方法使用。
类常量是定义在方法的外部,注意要添加修饰符。
运算符
1.算数运算符
在Java中,使用算术运算符+,-,*,/表示加减,删,乘,除运算。当参与/运算的两个操作数都是整数时,表示整数除法;否则,表示浮点除法。整数的求余操作用%表示。
例如:15/2 = 7;15%2 = 1; 15.0/2 = 7.5;
2.自增运算符和自减运算符
自增运算符和自减运算符分别都具有两种形式:
一种是前缀(++a,--a),前缀方式先进行加1运算。
一种是后缀(a++,a--),后缀方式则使用原来的值。
例:
int a = 5;
int b = 5;
int m = 2 * ++a; // m等于12,a等于6
int n = 2 * b++; // n等于10,b等于6
3.关系运算符和boolean运算符
等于==, 不等于!=, 大于>,小于<, 大于等于>=, 小于等于<=
逻辑“与”&&, 逻辑“或”||, 逻辑“非”!
三元运算符condition?expression1:expression2
4.位运算符(☆重点研究)
&“与” |“或” ~“非” ^“异或” >>“将二进制位进行右移” <<“将二进制位进行左移”
数学函数与常量
在Math类中,包含了各种各样的数学函数。
Math.sqrt(x); //x的平方根
Math.pow(x,a); //x的a次方
三角函数:
Math.sin();
Math.cos();
Math.tan();
Math.atan();
Math.atan2();
指数函数和反函数:
Math.exp();
Math.log();
Math.log10();
两个常用的值:Math.PI (pai>π) Math.E (e)
数值类型之间的转换

实心箭头:表示无信息丢失的转换。
虚线箭头:表示可能有精度损失的转换。
注:
· 如果两个操作数中有一个是double类型,另一个操作数就会转换为double类型。
· 否则,如果其中一个操作数是float类型,另一个操作数就会转换为float类型。
· 否则,如果其中一个操作数是long类型,另一个操作数将会转换为long类型。
· 否则,两个操作数都将会被转换为int类型。
强制类型转换
强制类型转换的语法格式是在圆括号中给出想要转换的目标类型,后面紧跟待转换的变量名。
例如:
double a = 3.14;
int b = (int) a;
括号和运算符级别
如果不使用圆括号,就按照给出的运算符优先级次序进行计算。同一个级别的运算符按照从左往右的次序进行计算(除了下表中给出的从右往左的次序)。
| 优先级 | 运算符 | 结合性 |
| 1 | () [] . | 从左到右 |
| 2 | ! +(正) -(负) ~ ++ -- | 从右向左 |
| 3 | * / % | 从左向右 |
| 4 | +(加) -(减) | 从左向右 |
| 5 | << >> >>> | 从左向右 |
| 6 | < <= > >= instanceof | 从左向右 |
| 7 | == != | 从左向右 |
| 8 | &(按位与) | 从左向右 |
| 9 | ^ | 从左向右 |
| 10 | | | 从左向右 |
| 11 | && | 从左向右 |
| 12 | || | 从左向右 |
| 13 | ?: | 从右向左 |
| 14 | = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= | 从右向左 |
枚举类型
有时候,变量的取值只在一个有限的集合内。例如,销售的服装只有小、中、大、特大这四种尺寸。
针对这种情况,可以自定义枚举类型。枚举类型包括有限个命名的值。例如,
enum Size{SMALL,MEDIUM,LARGE,EXTRA_LARGE}
如果我们想使用小号的服装型号,那么就可以 Size s = Size.SAMLL;
Java的基本程序设计结构(上)的更多相关文章
- JAVA的基本程序设计结构<上>
一个简单的Java应用程序 public class FirstSample { public static void main(String[] args) { System.out.println ...
- Java核心技术卷一基础知识-第3章-Java的基本程序设计结构-读书笔记
第3章 Java的基本程序设计结构 本章内容: 一个简单的Java应用程序 字符串 注释 输入输出 数据类型 控制流 变量 大数值 运算符 数组 本章主要讲述程序设计相关的基本概念(如数据类型.分支以 ...
- 201771010142 张燕 Java的基本程序设计结构第二周学习总结
第三章 Java的基本程序设计结构 第一部分 理论知识学习部分 一 基本知识: 1.标识符:由字母.下划线,美元符号和数字组成,第一个符号不能为数字,可以用作类名.变量名.方法名.数组名和文件名等. ...
- 1-03 Java的基本程序设计结构
1-03 Java的基本程序设计结构 3.1 & 3.2 在一个单词中间使用大写字母的方式称为骆驼命名法.以其自身为例,应该写成CamelCase). 与C/C++一样,关键字void表示这个 ...
- Java核心技术卷阅读随笔--第3章【Java 的基本程序设计结构】
Java 的基本程序设计结构 现在, 假定已经成功地安装了 JDK,并且能够运行第 2 章中给出的示例程序.我们从现在开始将介绍 Java 应用程序设计.本章主要介绍程序设计的基本概念(如数据类型.分 ...
- 重新学习Java——Java基本的程序设计结构(二)
上一节简单回顾了Java基本的一些程序设计的知识,这一节将继续根据<Java核心技术>这本书,进行这方面知识的复习与探索. 1. 字符串 Java字符串实际上就是Unicode字符序列.例 ...
- JAVA的基本程序设计结构(下)
字符串 Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类,叫做 String. String e=""; //an empty String String ...
- Java核心技术-Java的基本程序设计结构
1.一个简单的Java应用程序 public class FirstSample { public static void main(String[] args) { System.out.pring ...
- 重新学习Java——Java基本的程序设计结构(一)
最近在实验室看到各位学长忙于找工作的面试与笔试,深感自己的不足,决定重新好好学习一下<Java核心技术>这本书,曾经靠这本书走入Java的世界,但是也有很多的地方被我疏漏过去了,因此也是作 ...
随机推荐
- 一般处理程序上传文件(html表单上传、aspx页面上传)
html 表单上传文件 一般处理程序由于没有 apsx 页面的整个模型和控件的创建周期,而比较有效率.这里写一个用 html 表单进行文件上传的示例. 1. 表单元素选用 ...
- Maven间接依赖冲突解决办法
如果项目中maven依赖太多,由于还有jar之间的间接依赖,所以可能会存在依赖冲突.依赖冲突大部分都是由于版本冲突引起的,查看maven的依赖关系,可以找到引起冲突的间接依赖 如上图,通过Depend ...
- 16、java中的异常处理机制
异常:就是程序在运行时出现不正常情况.异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述.并封装成对象. 其实就是java对不正常情况进行描述后的对象体现. 对于问题的划 ...
- Sphinx的配置和使用
项目中用到了,昨天老大又给讲了讲,我感觉这玩意真是强大.想把一些功能以很小的代价做好,第三方的工具是必须要掌握的. 1. 我的开发环境在Windows上,下载了sphinx-2.2.6-release ...
- 【MySQL】SQL优化系列之 in与range 查询
首先我们来说下in()这种方式的查询 在<高性能MySQL>里面提及用in这种方式可以有效的替代一定的range查询,提升查询效率,因为在一条索引里面,range字段后面的部分是不生效的. ...
- web api 开发记录
1. 修改 api 返回时间格式 //配置返回的时间类型数据格式 GlobalConfiguration.Configuration.Formatters.JsonFormatter.Serializ ...
- opengl入门学习
OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640 ...
- ajax的两种方式
get:var ajax=new XMLHttpRequest();ajax.open('get','__URL__/check_all?val='+check);ajax.send();ajax.o ...
- POJ 2352 Stars 线段树 数星星
转载自 http://www.cnblogs.com/fenshen371/archive/2013/07/25/3214927.html 题意:已知n个星星的坐标.每个星星都有一个等级,数值等于坐标 ...
- 解决Dropbox无法连接的问题
同步共享服务Dropbox从6月18日开始再次遭到封锁,原因是DNS污染.Dropbox上次在2010年5月曾遭到IP封锁和网址关键字过 滤,2012年5月除文件外链功能外其它功能可正常访问:2014 ...