和其他高级语言类似,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的更多相关文章

  1. Java学习笔记二十九:一个Java面向对象的小练习

    一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...

  2. 数组排序、递归——(Java学习笔记二)

    升序:      选择排序:         选定一个元素,一次和后面的元素相比较,如果选定的元素大雨后面的比较元素,就交换位置         先出现最小值,最后出现最大值. public stat ...

  3. Java学习笔记二:数据类型II

    GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/Intpractice3.java 一  Java中的数据类型 Java ...

  4. Java学习笔记二十八:Java中的接口

    Java中的接口 一:Java的接口: 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承 ...

  5. Java学习笔记二十七:Java中的抽象类

    Java中的抽象类 一:Java抽象类: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就 ...

  6. Java学习笔记二十五:Java面向对象的三大特性之多态

    Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...

  7. Java学习笔记二十四:Java中的Object类

    Java中的Object类 一:什么是Object类: Object类是所有类的父类,相当于所有类的老祖宗,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object ...

  8. Java学习笔记二十二:Java的方法重写

    Java的方法重写 一:什么是方法的重写: 如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法. 语法规则 返回值类型.方法名.参数类型及个数都要与父类继承的 ...

  9. Java学习笔记二十一:Java面向对象的三大特性之继承

    Java面向对象的三大特性之继承 一:继承的概念: 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方 ...

  10. Java学习笔记二十:Java中的内部类

    Java中的内部类 一:什么是内部类: (1).什么是内部类呢? 内部类( Inner Class )就是定义在另外一个类里面的类.与之对应,包含内部类的类被称为外部类. (2).那为什么要将一个类定 ...

随机推荐

  1. ArcGIS api for javascript——图形-增加图形到地图

    描述 本例展示了如何使用Draw工具栏在地图上描绘许多种类的几何体.ArcGIS JavaScript API包含工具栏. 工具栏不是一个在页面上自动地可见的用户界面组件.相反,工具栏是一个助手类,可 ...

  2. DICOM:Transfer Syntax传输语义之奇葩GE Private TS

    背景: 专栏之前对Transfer Syntax(暂定中文翻译为传输语义,8月初博客中提到的DICOM3.0标准中文版开源书籍计划顺利启动.兴许会面临诸多专有名词的翻译工作,欢迎广大博友提意见)进行过 ...

  3. android系统又一次刷ROM简记(一)

    当须要对android系统进行大刀阔斧的改造的时候,应该清晰的了解android各个image的组成才干做到庖丁解牛. 首先在android烧写过程中须要烧写的文件主要包含uboot.bin\boot ...

  4. Codeforces 528A Glass Carving STL模拟

    题目链接:点击打开链接 题意: 给定n*m的矩阵.k个操作 2种操作: 1.H x 横向在x位置切一刀 2.V y 竖直在y位置切一刀 每次操作后输出最大的矩阵面积 思路: 由于行列是不相干的,所以仅 ...

  5. modSecurity规则学习(四)——规则指令编写

    规则语言是使用9个指令实现: 语法:SecRule VARIABLES OPERATOR [TRANSFORMATION_FUNCTIONS, ACTIONS] Variables 以下几种: Reg ...

  6. CentOS7 启动[root@localhost ~]# systemctl start docker Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for de

    1).在linux虚拟机上安装docker步骤:1.检查内核版本,必须是3.10及以上uname ‐r2.安装dockeryum install docker3.输入y确认安装4.启动docker[r ...

  7. Aizu - 2564 Tree Reconstruction 并查集

    Aizu - 2564 Tree Reconstruction 题意:一个有向图,要使得能确定每一条边的权值,要求是每个点的入权和出权相等,问你最少需要确定多少条边 思路:这题好像有一个定理之类的,对 ...

  8. Hue的三大特点、三大功能和架构

    不多说,直接上干货! Hue 是 Cloudera 的大数据 Web 工具 官方访问网站 : http://gethue.com/ GitHub : https://github.com/cloude ...

  9. mysql-5.6.15 开启二进制文件

    windows下 mysql 开启二进制文件 在mysql5.6.15下存在  my-default.ini配置文件  复制新建重命名my.ini  在其下加入 一定要在 [mysqld] 下面添加, ...

  10. 应用层协议——HTTP

    HTTP: Client HTTP <--> 应用程序HTTP报文 <--> Server HTTP 应用程序 由TCP支持 Statelessprotocol:不会记录客户端 ...