Java学习笔记二.1
和其他高级语言类似,Java也具有以下部分
1、关键字:见下表,注意Java严格区分大小写,关键字都是小写
2、标识符:见下图
3、注释。有两种://(单行注释)和/**/(多行注释)。还有一种文档注释/** ...... */ ,注释若干行,并可以将注释提取出来写入 javadoc 文档 ,这一部分以后再详写。
4、常量和变量:都是Java中数据的保存形式,保存在内存中方便计算,名字是标识符,标识其在内存中的位置(这是Java自动完成的)。Java是强类型语言,即数据必须用类型进行标示,这样一来变量即使改变其值,也只能是同类型的值。
public class var {
public static void main(String[] args)
{
/*
* 定义变量:数据类型 变量=初始值
* 定义过的变量可以直接使用
* 使用过的变量标识符不能重复定义,即使类型不同也不可以
*/
byte b=-128;
b=127;
short s=-32768;
s=32767;
int i=-2147483648;
i=2147483647;
/*
* 注意Java中规定long型数的末尾必须加上l(小写L);
* float型数末尾必须加上f,否则即使在取值范围内也报错
*/
long l=1234567890123l;
float f=2.3f;
double d=1.23456;
char c='你';
boolean bo=true;
System.out.print(b);
{
int z=9;
System.out.print(z);
}
/*
* Java中变量的范围在{}内,外部不能找到该变量。
* 注意即使如此也不能使用同样的标识符进行定义
*/
}
} public class test1 {
public static void main(String[] args)
{
/*
* 上面说到Java中的变量定义需要指明类型,
* 却又说了整数类型默认为int型,浮点类型默认为float,
* 这是因为除了那些指明(即用标识符标志)的数据,还有一类是直接使用的,
* 就像下面的1(对,就是赋值使用的1),是数据,但是没有经过定义,效果类似常量而非变量
* 所谓的默认类型就是指这些值的类型
* 所以下面的赋值过程就涉及类型的问题,其实Java会自动进行强制类型转换,见后面解释
*/
byte a=1;
/*
* 类型的问题会发生在以下三个问题上:
* 1、两个不同类型的值进行操作(首先会调整到同一类型中,低内存->高内存,即 类型提升 ,所以 值 的类型是高内存的类型)
* 2、两个同类型值进行操作,但结果类型有变
* 一般来说,如果值的类型较高,则应使用相应的类型来保存,但是如果有需求使用低内存则可以进行 强制类型转换。
* 类型提升自动完成,没有害处;但是强制类型转换会将超过该类型内存的高位全部舍弃,有损精度
*/
int b=5;
byte c=-3;
c=(byte)(b+c);
System.out.println(c);
byte d=127;
byte e=1;
d=(byte)(d+e);
System.out.println(d);
/*
*类型问题还有一个特殊问题,就是
*!!! 3、有变量参与的赋值,Java会将接收值的类型设为默认类型(即int和double类型)
*这里就涉及类型的转换,而且这是自动进行的,使用时要小心。
*/
byte f=3;
byte g=4;
f=(byte)f+g;
System.out.println(f);
/*
* 上面说的类型问题是在数值型变量上,但是字符型变量也可以和数值型变量进行运算,默认结果为int型。
*/
System.out.println((char)('你'+1));
}
}
Java变量测试
Java学习笔记二.1的更多相关文章
- Java学习笔记二十九:一个Java面向对象的小练习
一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...
- 数组排序、递归——(Java学习笔记二)
升序: 选择排序: 选定一个元素,一次和后面的元素相比较,如果选定的元素大雨后面的比较元素,就交换位置 先出现最小值,最后出现最大值. public stat ...
- Java学习笔记二:数据类型II
GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/Intpractice3.java 一 Java中的数据类型 Java ...
- Java学习笔记二十八:Java中的接口
Java中的接口 一:Java的接口: 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承 ...
- Java学习笔记二十七:Java中的抽象类
Java中的抽象类 一:Java抽象类: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就 ...
- Java学习笔记二十五:Java面向对象的三大特性之多态
Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...
- Java学习笔记二十四:Java中的Object类
Java中的Object类 一:什么是Object类: Object类是所有类的父类,相当于所有类的老祖宗,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object ...
- Java学习笔记二十二:Java的方法重写
Java的方法重写 一:什么是方法的重写: 如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法. 语法规则 返回值类型.方法名.参数类型及个数都要与父类继承的 ...
- Java学习笔记二十一:Java面向对象的三大特性之继承
Java面向对象的三大特性之继承 一:继承的概念: 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方 ...
- Java学习笔记二十:Java中的内部类
Java中的内部类 一:什么是内部类: (1).什么是内部类呢? 内部类( Inner Class )就是定义在另外一个类里面的类.与之对应,包含内部类的类被称为外部类. (2).那为什么要将一个类定 ...
随机推荐
- ArcGIS api for javascript——图层-创建定制的切片图层类型的图层
描述 本例展示了如何创建一个定制图层,该图层访问来自WEB服务器的地图切片.这种方式最通用的用途是检索ArcGIS Server 9.2切片缓存或web上的其他地图切片服务.尽管本例使用的是一个Arc ...
- 怎样在HP-UX中安装bash?
怎样在HP-UX中安装bash? 注:HPUX全称是Hewlett Packard UniX是惠普9000系列server的Unix操作系统,能够在HP的PA-RISC处理器.Intel的Ita ...
- 9.ng-options
转自:https://www.cnblogs.com/best/tag/Angular/ 该指令允许你基于一个迭代表达式添加选项 <select ng-model="color&quo ...
- Oracle 删除重复数据的几种方法
去重 第一种:distinct create table tmp_t3 as select distinct * from t3; drop table t3; alter table tmp_t2 ...
- Linux 终端仿真程序Putty
PuTTY是一个Telnet.SSH.rlogin.纯TCP以及串行接口连接软件.较早的版本仅支持Windows平台,现在的版本中开始支持各类Unix平台. 用linux作为桌面系统,身为工程师很多时 ...
- 微信、QQ中app的下载问题
最近在做一个项目,有一项功能是从微信中的分享页或者产品推广页面中下载app:在微信中直接下载app时微信是“拒绝”的,所以一般的做法是点击下载按钮弹出遮罩层,提示在浏览器中打开,然后进入外部浏览器,再 ...
- 【J-meter】参数及相应数据中文显示乱码问题
参考资料: http://www.51testing.com/html/00/130600-1360743.html http://www.cnblogs.com/fengpingfan/p/5851 ...
- MySQL Field排序法
检索 id = 2 or id = 5 or id = 9 or id = 56 or id = 38.然后按照 2 , 5, 9, 56, 38 这个顺序排列,这是题目要求 以下为解决方案: 1 ...
- P2186 小Z的栈函数
P2186 小Z的栈函数 题目描述 小Z最近发现了一个神奇的机器,这个机器的所有操作都是通过维护一个栈来完成的,它支持如下11个操作: NUM X:栈顶放入X. POP:抛弃栈顶元素. INV:将栈顶 ...
- Android Developer:内存分析器
Heap Viewer,Memory Monitor和Allocation Tracker是用来可视化你的app使用内存的补充工具. 使用Memory Monitor Tool来发现是否有不好的内存回 ...