常量与变量

常量值又称为字面常量,它是通过数据直接表示

常量

实型常量值

Java 的实型常量值主要有如下两种形式

十进制数形式:由数字和小数点组成,且必须有小数点,如 12.34、-98.0

科学记数法形式:如 1.75e5 或 32&E3,其中 e 或 E 之前必须有数字,且 e 或 E 之后的数字必须为整数。

布尔型常量值

Java 的布尔型常量只有两个值,即 false(假)和 true(真)

字符型和字符串常量值

Java 的字符型常量值是用单引号引起来的一个字符,如 'e'、E'。需要注意的是,Java 字符串常量值中的单引号和双引号不可混用。双引号用来表示字符串,像 "11"、"d" 等都是表示单个字符的字符串。

定义常量

常量不同于常量值,它可以在程序中用符号来代替常量值使用,因此在使用前必须先定义。Java 语言使用 final 关键字来定义一个常量。

语法如下所示:

final dataType variableName
final int COUNT=10

变量

变量是用来描述一条信息的别名,示例如下:

DataType identifier=value; 或 DataType identifier;
String name;
String name = "HelloWorld.Link"

变量的作用域

根据作用域的不同,一般将变量分为不同的类型:类变量、局部变量、方法参数变量等。

类变量

类变量也称为成员变量,声明在类中,不属于任何一个方法,作用域是整个类。示例如下:

public class HelloWorld
{
private int age=20; //定义类变量 price
private String name; //定义类变量 name
}

局部变量

局部变量是指在方法或者方法代码块中定义的变量,其作用域是其所在的代码块。

public class HelloWorld
{
public static void main(String[] args)
{
int age=30;
if(age>10)
{
int test=3; //声明一个int类型的局部变量,只能在if内使用
}
}
}

方法参数变量

作为方法参数声明的变量的作用域是整个方法。

public class HelloWorld
{
public static void test(int input) //声明一个方法参数变量,只能在方法体内使用
{
System.out.println("input="+ input);
}
}

数据类型

整数类型

Java 定义了 4 种整数类型变量:字节型(byte)、短整型(short)、整型(int)和长整型(long)。有符号的值,正数或负数。

字节型(byte)

byte 类型是最小的整数类型。当用户从网络或文件中处理数据流时,或者处理可能与 Java 的其他内置类型不直接兼容的未加工的二进制数据时,该类型非常有用。

短整型(short)

short 类型限制数据的存储为先高字节,后低字节,这样在某些机器中会出错,因此该类型很少被使用。

整型(int)

int 类型是最常使用的一种整数类型。

长整型(long)

对于大型程序常会遇到很大的整数,当超出 int 类型所表示的范围时就要使用 long 类型。

示例如下:

public static void main(String[] args)
{
byte h=10; //声明一个byte类型的变量并赋予初始值为10
short e=20; //声明一个short类型的变量并赋予初始值为20
int l=30; //声明一个int类型的变量并赋予初始值为30
long o=40; //声明一个long类型的变量并赋予初始值为40
}

浮点类型

浮点类型是带有小数部分的数据类型,也叫实型。浮点型数据包括单精度浮点型(float)和双精度浮点型(double),代表有小数精度要求的数字。单精度浮点型(float)和双精度浮点型(double)之间的区别主要是所占用的内存大小不同,float 类型占用 4 字节的内存空间,double 类型占用 8 字节的内存空间。双精度类型 double 比单精度类型 float 具有更高的精度和更大的表示范围。

public static void main(String[] args)
{
double a=2348.4; //定义double类型的变量
float b=0.01; //定义float类型的变量
}

布尔类型

布尔类型(boolean)用于对两个数值通过逻辑运算,判断结果是“真”还是“假”。

boolean a=true;
boolean b=false;

字符类型

Java 语言中的字符类型(char)使用两个字节的 Unicode 编码表示,它支持世界上所有语言,可以使用单引号字符或者整数对 char 型赋值。

char a='D';
char b='5';

运算符

算数运算符

运算符按照操作数的数量可以分为单目运算符、双目运算符和三目运算符。算术运算符的功能是进行算术运算,除了经常使用的加(+)、减(-)、乘()和除(\)外,还有取模运算(%)。加(+)、减(-)、乘()、除(\)和我们平常接触的数学运算具有相同的含义。求余运算(%)是指连接两个变量或常量以进行除法运算,结果取它们的余数。

int a=4,b=2,c=3;
int d=a*(b+c)%c; //最终d为:2

赋值运算符

赋值运算符是指为变量或常量指定数值的符号。赋值运算符的符号为“=”,它是双目运算符,左边的操作数必须是变量,不能是常量或表达式。赋值运算符与其他运算符一起使用,可以表达多种赋值运算的变异效果。

+= 将该运算符左边的数值加上右边的数值, 其结果赋值给左边变量本身

-= 将该运算符左边的数值减去右边的数值, 其结果赋值给左边变量本身

*= 将该运算符左边的数值乘以右边的数值, 其结果赋值给左边变量本身

/= 将该运算符左边的数值整除右边的数值, 其结果赋值给左边变量本身

%= 将该运算符左边的数值除以右边的数值后取余,其结果赋值给左边变量本身

int a=5; a+=2; //a=7
int a=5; a-=2; //a=3
int a=5; a*=2; //a=10
int a=5; a/=2; //a=2
int a=5; a%=2; //a=1

逻辑运算符

逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。逻辑运算符包括 &&、||、!。其中 && 和 || 是双目运算符,实现逻辑与、逻辑或;!是单目运算符,实现逻辑非。

int x=1;y=99
x>0 && x<=100 //输入ture

关系运算符

关系运算符用来比较两个值的关系。关系运算符是二元运算符,运算结果是 boolean 型。当运算符对应的关系成立时,运算结果是 true,否则是 false。> 大于运算符,>= 大于或等于运算符,<小于运算符,<=小于或等于运算符,==相等运算符,!=不相等运算符

2>3   //false
4>=2 //true
2<3 //true
4<=2 //false
4==4 //true
4!=2 //true

自增和自减运算符

在对一个变量做加 1 或减 1 处理时,可以使用自增运算符 ++ 或自减运算 --。++ 或 -- 是单目运算符,放在操作数的前面或后面都是允许的。++ 与 -- 的作用是使变量的值增 1 或减 1。操作数必须是一个整型或浮点型变量。i++将 i 的值先使用再加 1 赋值给 i 变量本身,++i 将 i 的值先加 1 赋值给变量 i 本身后再使用,i--将 i 的值先使用再减 1 赋值给变量 i 本身,--i 将 i 的值先减 1 后赋值给变量 i 本身再使用

int i=1;
int j=i++;//i为2,j为1
int x=1;
int y=++x;//x为2,y为2
int a=1;
int b=a--;//a为0,b为1
int c=1;
int d=--c;//c为0,d为0

位运算符

位逻辑运算符包含 4 个:&(与)、|(或)、~(非)和 ^(异或)。除了 ~(即位取反)为单目运算符外,其余都为双目运算符。& 按位进行与运算,|按位进行或运算,^按位进行异或运算,~按位进行取反运算

4 & 5 //结果:4
4 | 5 //结果:5
4 ^ 5 //结果:1
~ 4 //结果:-5

条件运算符

条件运算符的符号表示为“?:”,使用该运算符时需要有三个操作数,因此称其为三目运算符。

int x,y,z;
x=6,y=2;
z=x>y?x-y:x+y;//z为4

数据类型转换

数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。数据类型的转换可以分为隐式转换(自动类型转换)和显式转换(强制类型转换)两种。

隐式转换

自动类型转换的实现需要同时满足两个条件:①两种数据类型彼此兼容,②目标类型的取值范围大于源数据类型(低级类型数据转换成高级类型数据)。例如 byte 类型向 short 类型转换时,由于 short 类型的取值范围较大,会自动将 byte 转换为 short 类型。

int a=1;
int b=2;
double c=a+b;//c为3.00

显式转换

当两种数据类型不兼容,或目标类型的取值范围小于源类型时,自动转换将无法进行,这时就需要进行强制类型转换。

int a=3;
double b=5.0;
a=(int)b;//a为5

Java入门教程二(语言基础)的更多相关文章

  1. JavaScript 入门教程四 语言基础【3】

    一.数据类型介绍: String 1.是使用 Unicode 字符组成的字符序列.所以可以容纳各种语言. 2.字符串可以使用双引号(“”)或者单引号('')表示,但必须成对出现. 3.转移序列使用 \ ...

  2. JavaScript 入门教程三 语言基础【1】

     一.基本介绍 1.JavaScript 是一种区分大小写的语言.(var Hello 与 var hello 是不同的变量) 2.JavaScript 中标志符就是指变量.函数.属性的名字,或者函数 ...

  3. JavaScript 入门教程四 语言基础【2】

    一.数据类型介绍: undefined null NaN 1.判断当前变量是否为 undefined: if (i === undefined) 或者 if (typeof (i) === " ...

  4. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  5. Java入门(二)——果然断更的都是要受惩罚的。。。

    断更了一个多月,阅读量立马从100+跌落至10-,虽说不是很看重这个,毕竟只是当这个是自己的学习笔记,但有人看,有人评论,有人认同和批评的感觉还是很巴适的,尤其以前有过却又被剥夺的,惨兮兮的. 好好写 ...

  6. 无废话ExtJs 入门教程二[Hello World]

    无废话ExtJs 入门教程二[Hello World] extjs技术交流,欢迎加群(201926085) 我们在学校里学习任何一门语言都是从"Hello World"开始,这里我 ...

  7. SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1

    在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...

  8. mongodb入门教程二

    title: mongodb入门教程二 date: 2016-04-07 10:33:02 tags: --- 上一篇文章说了mongodb最基本的东西,这边博文就在深入一点,说一下mongo的一些高 ...

  9. Java入门(二):注释和基本数据类型

    上次通过eclipse在控制台输出了hello world,是不是有点小激动啊,今天接着介绍Java基础知识. 一.Java注释 1.Java注释语句不会被编译器运行,不用担心代码因为许多注释语句显得 ...

随机推荐

  1. set theory

    set theory Apart from classical logic, we assume the usual informal concept of sets. The reader (onl ...

  2. php利用curl发送 post get del put patch 请求

    因为需要在php开发中对接其它接口需要用php  curl去对接其它接口  我把他们封装成函数 希望能对大家有所帮助 这里面是封装好的  会自动把data进行转成json格式   同时解码成php数组 ...

  3. springboot集成aop日志

    日常开发中假如是前后端完全分离,我们会习惯用浏览器去调用controller的接口来测试.这一个过程普通的日志功能会记录sql参数等一些基本信息.但是假如项目越来越庞大,我们的包越来越多,在维护项目和 ...

  4. L3-016 二叉搜索树的结构 (30 分)

    二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值:它的左.右子树也分别 ...

  5. VB6制作的自定义ocx控件

    下载后,解压缩,有一个TreeviewExplorer.ocx文件 在Excel的开发工具选项卡,点击插入ActiveX控件 VBA窗体,VB6窗体.VB.Net窗体都可以使用这个自定义控件的功能. ...

  6. Redhat6更改yum源 (转)

    最近虚拟机中安装了redhat6.3企业版,自带的yum用不起来,软件都找不到. 网上搜了一下说是没付钱...,需要改下yum源.操作步骤如下: 1.切换到yum源存放目录[root@rhel6 ~] ...

  7. 管理Exchange Online用户介绍(二)

    一.Exchange Online配置邮件传递限制 1..进入“Exchange 管理中心”,依次点击 收件人->邮箱->选择需要管理的用户->编辑->邮箱功能->邮件传 ...

  8. 总结verilog产生随机数的$random和seed

      $random(seed)是verilog中最简单的产生随机数的系统函数. 在调用系统函数$random(seed)时,可以写成三种样式:1)$random,2)$random(),3)$rand ...

  9. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-封装mock(9)

    封装mock # -*- coding: utf-8 -*- # @Time : 2020/2/12 8:51 # @File : mock_demo_9.py # @Author: Hero Liu ...

  10. Qt OpenCV::Mat与Qt::QImage相互转换

    Mat转QImage QImage mat2qim(Mat & mat) { cvtColor(mat, mat, COLOR_BGR2RGB); QImage qim((const unsi ...