常量与变量

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

常量

实型常量值

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. [JSOI2019]神经网络(树形DP+容斥+生成函数)

    首先可以把题目转化一下:把树拆成若干条链,每条链的颜色为其所在的树的颜色,然后排放所有的链成环,求使得相邻位置颜色不同的排列方案数. 然后本题分为两个部分:将一棵树分为1~n条不相交的链的方案数:将这 ...

  2. [GX/GZOI2019]与或和(单调栈+按位运算)

    首先看到与或,很显然想到按照位拆分运算.然后就变成了0/1矩阵,要使矩阵在当前位与为1,则矩阵全为1,如果是或为1,则是矩阵不全为0,然后求全为0/1的矩阵个数即可.记录c[i][j]表示以a[i][ ...

  3. JAVA并发思维导图

    原博客:https://blog.csdn.net/oqkdws/article/details/82145389

  4. hdu2876 Connections between cities(LCA倍增)

    图不一定联通,所以用并查集找各个联通块的祖先分别建图,之后就和LCA的步骤差不多了 #include<iostream> #include<cstring> #include& ...

  5. Linear Equations

    4.1 Linear Equations with One Independent Variable

  6. Qt 使用自带的OpenGL模块开发程序

    QT中使用opengl .pro文件中添加 QT += opengl 1.使用指定版本的OpenGL如下使用opengl4.5调用方法,使用指定版本的接口,必须设备图形显示设备支持对应OpenGL版本 ...

  7. 学习python-20191217(1)-Python Flask高级编程开发鱼书_第04章_应用、蓝图与视图函数

    视频01: flask框架:最上层是app,它就像一个插线板一样,比如可以插入蓝图,还可以插入其他各种flask插件. 每个蓝图又可以插入很多视图函数,并可指定静态文件夹和模板文件夹. 好的代码结构, ...

  8. HTTP请求方法及常见状态码

    GET: 请求指定的页面信息,并返回实体主体. HEAD: 只请求页面的首部. POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体. PUT: 从客户端向服务器传送的数据取代指定 ...

  9. cs231n spring 2017 lecture3 Loss Functions and Optimization

    1. Loss function是用来量化评估当前预测的好坏,loss function越小表明预测越好. 几种典型的loss function: 1)Multiclass SVM loss:一般的S ...

  10. 安装oracle 11g 客户端,检查过程中报物理内存不足的解决

    今早接到同事电话,说安装oracle 11g客户端的时候,在检查先决条件的时候,报错,说内存不足,但是本机的内存是2G,肯定够用:如图: 找了一圈,原来Oracle执行先决条件检查是依赖c$共享,很多 ...