和其他高级语言类似,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. [Python] Boolean Or "Mask" Index Arrays filter with numpy

    NumPy Reference: Indexing Integer array indexing Boolean array indexing Note: The expression a < ...

  2. ZOJ 2588 Burning Bridges(无向连通图求割边)

    题目地址:ZOJ 2588 由于数组开小了而TLE了..这题就是一个求无向连通图最小割边.仅仅要推断dfn[u]是否<low[v],由于low指的当前所能回到的祖先的最小标号,增加low[v]大 ...

  3. 热门游戏&lt;开心消消乐&gt;的“加壳”诡计!!

    好久没搞游戏了,前几天看了又又一次看了看<开心消消乐>的1.29最新版..于是故事開始了: 1.反编译分析 首先使用Androidkiller进行反编译,得到两个Smali代码目录:mal ...

  4. sc命令以及InstallUtil安装service

    1.安装 https://stackoverflow.com/questions/8164859/install-a-windows-service-using-a-windows-command-p ...

  5. poj--3281-- DiningI(最大流)

    Dining Time Limit: 2000MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %I64u Submit Status ...

  6. 浅谈 C 语言中模块化设计的范式

    今天继续谈模块化的问题.这个想慢慢写成个系列,但是不一定连续写.基本是想起来了,就整理点思路出来.主要还是为以后集中整理做点铺垫. 我们都知道,层次分明的代码最容易维护.你可以轻易的换掉某个层次上的某 ...

  7. 硬件时间,操作系统时间,Windows 和linux 双系统时间差8小时问题说明

    1.硬件时间:硬件时钟是存储在主板上CMOS里的时间即BIOS时间,关机后该时钟依然运行,主板的电池为它供电.对应于嵌入式设备有一个RTC模块.硬件时钟即RTC时钟.信息比较少没时区.夏令时的概念. ...

  8. js数组中foEach和map的用法详解 jq中的$.each和$.map

    数组中foEach和map的用法详解 相同点: 1.都是循环遍历数组(仅仅是数组)中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项value, ...

  9. scrollWidth到底是什么???

    贴上MDN对scrollwidth的定义: The Element.scrollWidth read-only property is a measurement of the width of an ...

  10. CSS2.1(布局)

    浏览器内核 Firefox : geckoIE: tirdentSafari: webkitChrome: 一开始使用webkit 后来基于webkit开发了Blinkopera: 一开始使用pres ...