JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
1、变量
Java中。用户能够通过指定数据类型和标识符来声明变量。其基本的语法为:
DataType identifier;
或
DataType identifier = value;
当中。DataType是变量类型。如int/string/char/double/boolean等。identifier是变量名称。即标识符;value就是声明变量的值。
注:
a、标识符由数字0-9、大写和小写字母、下划线、美元符号、人民币符号以及全部在十六进制0xc0前的ASCII码组成;
b、类或结构中的变量。若没有显示地初始化。则默认初始值为0;方法中的变量必须显示地初始化,否则出错。
变量依照作用域的不同能够分为:类变量、局部变量、方法參数变量、异常处理參数变量。
演示样例代码例如以下:
/********************************************************************************
* "类变量"的用法演示样例代码*/ class ClassVariable {
int price=100; //定义类变量price
String name; //定义类变量name
int num; //定义类变量num
} public class Grammar {
public static void main(String[] args) {
ClassVariable c = new ClassVariable();
System.out.println("price="+c.price);
System.out.println("name="+c.name);
System.out.println("num="+c.num);
}
} /////////////////////////////////////
/*
* "局部变量"的用法演示样例代码*/ public class Grammar {
public static void main(String[] args) {
int a=7;
if (5>3) {
int s=3;
System.out.println("s="+s);
System.out.println("a="+a);
}
// System.out.println("s="+s);
System.out.println("a="+a);
}
} ///////////////////////////////////// /*
* "方法參数变量"的用法演示样例代码*/ public class Grammar {
public static void testFun(int s) {
System.out.println("s="+s);
}
public static void main(String[] args) {
testFun(100);
}
} /////////////////////////////////////
/*
* "异常处理參数变量"的用法演示样例代码*/ public class Grammar {
public static void test() {
try{
System.out.println("Hello! Exception!");
}
catch (Exception e){ //异常处理块。參数为Exception类型
e.printStackTrace();
}
}
public static void main(String [] args) {
test();
}
}
2、常量
在C/C++中,要以constkeyword定义一个常量,而在JAVA中const不是keyword符。而是一个保留字符。它使用finalkeyword来定义一个常量,其语法例如以下:
final dataType constantName;
当中,final是定义常量的keyword。dataType是指明常量的数据类型,constantName是常量的名称。
注:
a、在定义常量时须要对其进行初始化;
b、final不仅能够用来修饰基本数据类型的常量。还能够用来修饰对象的引用或者方法。
c、在JAVA语言中,为了与变量差别。常量一般都採用大写字符。
演示样例代码例如以下:
/********************************************************************************
* "常量"的用法演示样例代码*/ public class Grammar {
public static void main(String [] args) {
final double PI=3.1415926;
int r=10;
double c=2*PI*r;
System.out.println("圆的周长="+c);
// PI=10;
}
}
3、数据类型
JAVA语言的数据类型主要分为两大类:基本数据类型(字节型byte、字符型char、布尔型boolean、单精度浮点型float、双精度浮点型double、整型int、短整型short、长整型long)和引用数据类型(数组、类class、接口interface)。
详细例如以下图:
注:
a、全部的基本数据类型的大小都已经明白规定好,在各种不同的平台上都保持不变,这一特点有助于提高JAVA程序的移植性。
b、引用数据类型是由用户自己定义的,用于限制其它数据的类型。JAVA语言中不支持C++中的指针类型、结构类型、联合类型和枚举类型。
c、对于浮点型数据来说,默认是double。若想被看做float,则须要在数据后面加上f或F。
d、Java语言中的字符类型使用两个字节的Unicode编码表示,字符通经常使用十六进制表示,范围从\u0000到\uFFFF。即0到65535。
演示样例代码例如以下:
/********************************************************************************
* "整数类型"的用法演示样例代码*/ public class Grammar {
public static void main(String [] args) {
byte a=10;
short b=20;
int c=30;
long d=40;
long sum=a+b+c+d;
System.out.println("10+20+30+40="+sum);
}
} /*
* "浮点类型"的用法演示样例代码*/ public class Grammar {
public static void main(String [] args) {
double x=10.23;
int a=2;
float sum=(float)x*a;
System.out.println("sum="+sum);
}
} /*
* "布尔类型"的用法演示样例代码*/ public class Grammar {
public static void main(String [] args) {
boolean a=true;
System.out.println("a="+a);
}
} /*
* "字符类型"的用法演示样例代码*/ public class Grammar {
public static void main(String [] args) {
char a='A';
char b='B';
System.out.println("a+b="+(a+b));
}
}
4、运算符
运算符包含算术运算符、比較运算符、逻辑运算符、赋值运算符、条件运算符、自增自减运算符、位运算符。还要考虑到运算符的优先级别。
注:
a、自增自减运算符。比如i++和++i,其规则是谁在前先算谁。
b、在位运算符中,按位异或的运算符是^,这一点要特别注意。
演示样例代码例如以下:
/********************************************************************************
* "算术运算符"的用法演示样例代码*/ import java.util.Scanner; // 代码输入Scanner后,系统会自己主动增加这段代码
public class Grammar {
public static void main(String [] args) {
Scanner input= new Scanner(System.in); //系统输入
System.out.println("请输入第一个数:");
int num1=input.nextInt();
System.out.println("请输入第二个数:");
int num2=input.nextInt();
float add=num1+num2;
float sub=num1-num2;
float multi=num1*num2;
int div=num1/num2;
float rem=num1%num2;
System.out.println("add="+add+", sub="+sub+", multi="+multi+", div="+div+", rem="+rem); }
} /*
* "优先级"的用法演示样例代码*/ public class Grammar {
public static void main(String [] args) {
int a=10;
int b=5;
int c=12;
int result=a+b-(a++)*(b--)%c;
System.out.println("result="+result);
}
}
5、数据类型转换
数据类型转换分为隐式转换(自己主动类型转换)和显式转换(强制类型转换)两种。
自己主动类型转换的实现须要同一时候满足两个条件:一是两种数据类型彼此兼容,第二个是目标类型的取值范围要大于源数据类型。即低级数据类型转换为高级类型数据。
转换规则例如以下:
(1)、数值型数据的转换:byte->short->int->long->float->double。
(2)、字符型转换为整型:char->int。
以上数据类型的转换遵循从左到右的转换顺序,终于转换成表达式中表示范围最大的变量的数据类型。
显示转换:当两种数据类型不兼容或类型的取值小于源类型时,自己主动转换无法进行,这时就须要进行强制类型转换。
6、实例演示——把整数转换为二进制数
參考代码例如以下:
/********************************************************************************
* "实战——把整数转换为二进制"——难度系数:★★★*/ public class Grammar { //第一步:定义一个类
static String ConvertIntToBinary(int n) //第二步:定义一个方法
{
String binary=""; //保存二进制字符串
int i=n; //声明i变量。将參数n的值赋予它
int m=0; //声明初始化变量m
while (i>1)
{
i=n/2;
m=n%2;
binary =Integer.toString(m)+binary; //加入到binary字符串中
n=i;
}
if (i>0) binary="1"+binary;
return binary;
}
public static void main(String [] args) {
System.out.println("14转换为二进制为:"+ConvertIntToBinary(14));
System.out.println("15转换为二进制为:"+ConvertIntToBinary(15));
}
}
JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)的更多相关文章
- Java学习笔记之---基础语法
Java学习笔记之---基础语法 一. Java中的命名规范 (一)包名 由多个单词组成时,所有字母小写(例如:onetwo) (二)类名和接口 由多个单词组成时,所有单词首字母大写(例如:OneTw ...
- Java学习之旅基础知识篇:数据类型及流程控制
经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...
- java学习笔记之基础语法(一)
1.java语言基础由关键字.标识符.注释.常量和变量.运算符.语句.函数和数组等组成. 2.1关键字 定义:被java语言赋予了特殊含义的单词 特点:关键字中所有的字母都是小写. 2.2用于定义数据 ...
- java学习笔记之基础语法(二)
1.数组: 概念:同一种类型数据的集合,其实,数组就是一个容器 优点:可以方便的对其进行操作,编号从0开始,方便操作这些元素. 2,数组的格式 元素类型[]数组名=new 元素类型[数组元素个数]: ...
- Java学习笔记之基础语法(数据类型)
8种基本数据类型 整型: byte[1字节] short[2字节] int[4字节] long[8字节] 1,四种整型之间的区别:申 ...
- 从零开始学Java (三)基础语法
1. 基本数据类型 整数类型:byte,short,int,long 浮点数类型:float,double 字符类型:char 布尔类型:boolean java最小单位是bit,一个byte占用8个 ...
- Java学习笔记之基础语法(顺序,条件,循环语句)
顺序结构:自上而下 条件分支选择结构: if条件语句 1,一旦某一个分支确定执行以后,其他分支就不会执行.if后面的条件必须是boolean类型 2,if 后面如果不加大括号,默认相邻的下一 ...
- Java学习笔记之基础语法(数组)
数组 数组概述:是具有相同数据类型的数据的集合 数组的定义:数据类型 数组名 [] 数组特点: 1,数组是引用数据类型. 2,数组值用大括号,元素之间用逗号隔开,元素的个数是0-N个 3,数组长度是固 ...
- java学习(三) java 中 mongodb的各种操作
一. 常用查询: 1. 查询一条数据:(多用于保存时判断db中是否已有当前数据,这里 is 精确匹配,模糊匹配 使用 regex...) public PageUrl getByUrl(String ...
随机推荐
- RPC——笔记
整理的笔记来源:https://mp.weixin.qq.com/s/JkXrPcuKtE2qYgmDcH2uww RPC(远程过程调用): RPC是:一个计算机通信协议. 调用过程:计算机 A 上的 ...
- 诊断Java中的内存泄露
每次我怀疑有内存泄漏时,我都要翻箱倒柜找这些命令.所以,这里总结一下以备后用: 首先,我用下面的命令监视进程: 1 while ( sleep 1 ) ; do ps -p $PID -o %cpu, ...
- 3星|《OKR:源于英特热和谷歌的目标管理利器》:OKR原理、实施手册、实施过的公司的访谈
OKR原理与实施手册,另外附了几家实施过OKR的公司的访谈. 书中表述的OKR思想,我认为是这两点: 1:始终聚焦在最重要的目标上: 2:不以OKR为考核员工的指标: Kindle电子版排版有小缺陷, ...
- 梦想CAD控件网页版扩展数据
随着基于CAD的应用软件飞速发展,经常需要保存一些与图形可视性无关的数据,即非图形参数.例如在绘制化验样图中包含品位数据.MxCAD定义一类新的参数——实体扩展数据.扩展数据与实体的可视性无关,而是用 ...
- 牛客多校Round 2
Solved:3 rank:187 H.travel 题意:给一颗带有点权的树 找三条不相交的链 使得点权最大 题解:使用树形DP dp[x][i][0/1] 表示x节点选择i条链 有没有经过x的链 ...
- Android studio 开发一个用户登录界面
Android studio 开发一个用户登录界面 activity_main.xml <?xml version="1.0" encoding="utf-8&qu ...
- Luogu P1991 无线通讯网
P1991 无线通讯网 题目描述 国防部计划用无线网络连接若干个边防哨所.2 种不同的通讯技术用来搭建无线网络: 每个边防哨所都要配备无线电收发器:有一些哨所还可以增配卫星电话. 任意两个配备了一条卫 ...
- Crossword Answers UVA - 232
题目大意 感觉挺水的一道题.找出左面右面不存在或者是黑色的格子的白各,然后编号输出一横向单词和竖向单词(具体看原题) 解析 ①找出各个格子的编号 ②对每个节点搜索一下 ③输出的时候注意最后一个数据后面 ...
- [BOI2008]Elect 选举
背包. #include <algorithm> #include <iostream> #include <cstdlib> #include <cstri ...
- 作为一个程序员,分享一下我自己常用的几款非常方便的chrome插件
作为一名资深码农,结合身边一群IT民工的真实体验,小编有那么一点权威给各位推荐几款程序员必备.常用的chrome扩展插件. 1.Click&Clean Click&Clean插件可以监 ...