Java基本语法.part02
变量
变量的概念:
内存中的一个存储区域
该区域有自己的名称(变量名)和类型(数据类型)
Java中每个变量必须先声明,后使用
该区域的数据可以在同一类型范围内不断变化
使用变量注意:
变量的作用域:一对{ }之间有效
初始化值
定义变量的格式:
数据类型 变量名 = 初始化值
变量是通过使用变量名来访问这块区域的
变量类型:
byte 1字节(8bit)
short 2字节
int 4字节
long 8字节
float 4字节
double 8字节
boolean
java的整数型常默认为int类型,申明long型常量必须后加'l'或者'L',小数默认的是double,申明float时,后面要加'f'
小练习:
关于计算的练习
public class CalcTest {
public static void main(String[] args) {
byte b1 = 100;
short s1 = 200;
b1 = (byte)(b1 + s1); // 任意整数相加, 整数的四个字节中的前三个直接丢弃
// 都会自动转型为int型作运算,结果值也是int型
System.out.println("b1 : " + b1);
float f1 = 2.3f; // 不可以, 浮点数的字面量默认是double数据类型
double d1 = 2.3;
//float f2 = d1;// 不能直接赋值, 必须强制类型转换
float f2 = (float)d1;
f2 = b1 - s1 + f1 ; // 程序自动把所参与运算的数据升级为float
// 下面的这个赋值也不能成功!! 因为是double赋值于float
//f2 = b1 - s1 + f1 + d1 ; // 程序自动把所参与运算的数据升级为double
f2 = (float)(b1 - s1 + f1 + d1) ; // 程序自动把所参与运算的数据升级为double
int num = (int)2999999999L;
System.out.println(num);
System.out.println('a'+1+"Hello!");
}
}
小运算
public class Exer {
/*
字符串简单介绍后练习:
1 写一个Variable类,
main方法中使用double类型声明var1和var2变量,
然后用var2保存var1与var2之商。
2 声明字符串变量str,
用str串接的形式表示上述计算过程并打印输出结果。
var1 = 300 var2 = 400
300 / 400 = 0.7
*/
public static void main(String[] args) {
double var1 = 100;
double var2 = 200;
String str = "来个字符串" + var1 + '/' + var2 + '='; // 抓住时机,趁var2还未改变之前串接在字符串中
var2 = var1 / var2; // 再进行运行,把结果保存在var2中
str = str + var2; // 再把结果串接在字符串中.
System.out.println(str);
String str2 = "2342";
int num = Integer.parseInt(str2);
System.out.println(num);
}
}
字符串的拼接
public class ComSetTest {
public static void main(String[] args) {
int n = 10;
System.out.println("n:" + n);
n += 20; //复合赋值运算 // n: 30
// 等效于
// n = n + 20;
System.out.println("n:" + n);
n /= 10;
// 等效于
// n = n / 10; n:3
System.out.println("n:" + n);
n %= 2;
// 等效于 n = n % 2;
System.out.println("n:" + n);
short s = 10;
//s = s + 2; //这个语句会导致编译错误,因为右面的值运算出来后是int类型的
s += 2;
int i = 1;
//i = i * 0.1;
i *= 0.1;
System.out.println(i);//
i++;
System.out.println(i);//
}
}
位运算
public class Exer2 {
/*
练习
int var1 = 0x56; // 需要注意的是, 整数是4个字节,共32个比特位
int var2 = 0xF2;
对两个数进行按位取反
int var3 = ~var1;
int var4 = ~var2;
再按位与,或,异或的结果打印输出*/
public static void main(String[] args) {
int var1 = 0x56;
// 0000 0000 0000 0000 0000 0000 0101 0110 取反
// 1111 1111 1111 1111 1111 1111 1010 1001 (-87的补码)
int var3 = ~var1;
System.out.println("~0000 0000 0000 0000 0000 0000 0101 0110 : " + var3);
int var2 = 0xF2;
// 0000 0000 0000 0000 0000 0000 1111 0010 取反
// 1111 1111 1111 1111 1111 1111 0000 1101
int var4 = ~var2;
System.out.println("~var : " + var4);
// 0000 0000 0000 0000 0000 0000 0101 0110 &
// 0000 0000 0000 0000 0000 0000 1111 0010 =
// 0000 0000 0000 0000 0000 0000 0101 0010 -> 0x52 -> 82
int var5 = var1 & var2;
System.out.println("var1 & var2 = " + var5);
// 0000 0000 0000 0000 0000 0000 0101 0110 |
// 0000 0000 0000 0000 0000 0000 1111 0010 =
// 0000 0000 0000 0000 0000 0000 1111 0110 -> 0xF6 -> 15*16+6 = 246
int var6 = var1 | var2;
System.out.println("var1 | var2 = " + var6);
// 0000 0000 0000 0000 0000 0000 0101 0110 ^
// 0000 0000 0000 0000 0000 0000 1111 0010 =
// 0000 0000 0000 0000 0000 0000 1010 0100 -> 0xA4 -> 164;
int var7 = var1 ^ var2;
System.out.println("var1 ^ var2 = " + var7);
}
}
短路运算
public class LogicTest {
public static void main(String[] args) {
boolean a = true;
boolean b = true;
System.out.println("a && b : " + (a && b)); // true
System.out.println("a || b : " + (a || b)); // true
System.out.println("!a : " + !a); // false
System.out.println("----------------------------------");
a = true;
b = false;
System.out.println("a && b : " + (a && b));// false
System.out.println("a || b : " + (a || b));// true
System.out.println("!a : " + !a); // false
System.out.println("----------------------------------");
a = false;
b = true;
System.out.println("a && b : " + (a && b));// false
System.out.println("a || b : " + (a || b));// true
System.out.println("!a : " + !a); // true
System.out.println("----------------------------------");
a = false;
b = false;
System.out.println("a && b : " + (a && b));// false
System.out.println("a || b : " + (a || b));// false
System.out.println("!a : " + !a); // true
}
}
简单的if流程
public class IfTest {
/*
从命令行参数接收小明的期末成绩。
当成绩为100分时,奖励一辆BMW;
当成绩为(80,99]时,奖励一个台iphone5s;
当成绩为[60,80]时,奖励一本参考书;
其它时,什么奖励也没有。*/
public static void main(String[] args) {
int score = Integer.parseInt(args[0]);
if (score == 100) {
System.out.println("66666,给你一个BMW。。。");
} else if (score > 80 && score <= 99) {
System.out.println("还不错,给你一台iphone5s。。。");
} else if (score >= 60 && score <= 80) {
System.out.println("马马虎虎,给你一本书回家多看看。。。");
} else if (score >= 0 && score <= 60) {
System.out.println("我擦,不及格,好好玩。。。");
} else {
System.out.println("大哥,输错了吧。。。");
}
//System.out.println("所接受的命令行参数是:" + score);
}
}
变量的注意事项:
1.变量必须有类型
2.变量必须有名称
3.变量必须先声明后使用
4.变量的范围是它所属的一个大括号(一个结构)
5.变量在相同的范围内不可以重复定义
变量的分类:
1.按照变量的类型
1.基本数据类型的变量
byte,short,int,long,float,double,char,boolean
byte < short<
int < long < float < double
char <
2.引用类型的变量
类型 引用变量;
String str = "我是一个字符串";
一个字符串可以和任意类型的数值进行拼接,产生一个新的字符串
2.按照变量声明所在的位置
1.局部变量 在方法中申明的变量
2.成员变量(对象属性)或者叫实例变量
算数运算符
+ - * / :支持任意两个或多个数值型数据或char类型
%: A % B, 只能支持整数型和char类型
&&:短路与 前面条件为假时,后面不进行判断
三目运算
变量 = 布尔表达式?表式1:表式2;
Java基本语法.part02的更多相关文章
- 【转】详解Java正则表达式语法
(转自: http://www.jb51.net/article/76354.htm) 这篇文章主要介绍了Java正则表达式语法,包括常用正则表达式.匹配验证-验证Email是否正确以及字符串中查询字 ...
- C++与Java的语法区别
C++与Java的语法区别 首先,两个大的不同是主函数和怎样编译的不同,接下来是许多小的区别. main 函数C++//自由浮动的函数int main( int argc, char* argv[]) ...
- Atitti.java exp ast java表达式语法ast构造器
Atitti.java exp ast java表达式语法ast构造器 /atiplat_cms/src/com/attilax/lang/AstParser.java 原理 分割tokens_sli ...
- java面向对象编程——第二章 java基础语法
第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...
- JAVA正则表达式语法大全
[正则表达式]文本框输入内容控制 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$". 只能输入n位的数字:"^\d{n ...
- java基础语法笔记
这段时间看了一些java,急了一些笔记,记下一遍以后复习用! 2016-07-24 15:12:40 java很多语法都跟C#类似,下面列举一些不同的地方******注意***** java中的系统方 ...
- Java基础语法(下篇)
Java基础语法(下篇) 内容概要: (1)函数的定义 (2)函数的特点 (3)函数的应用 (4)函数的重载 ...
- Java基础语法(上篇)
Java基础语法(上篇) 知识概要: (1)关键字的表示与规范 (2)标示符 (3)注释 (4 ...
- java——基础语法
java基础语法 1.关键字:java赋予特殊含义的单词. 2.标识符:程序中开发人员自定义的名词,例如:类名,函数名,变量名(注意事项:①不能以阿拉伯数字开头②不能采用关键字). 3.常量:固定的数 ...
随机推荐
- Flask理论基础(一)加载配置文件
一.修改/新增配置项 1.使用配置文件 app.config.from_pyfile("config.cfg") 如上 config.cfg 可以是任意后缀的文本文件,需要与app ...
- 现如今,最热门的13个Java微服务框架
曾经的 服务器领域 有许多不同的芯片架构???有哪些芯片架构???和操作系统???,经过长期发展,Java的“一次编译,到处运行”使得它在服务器领域找到一席之地,成为程序员们的最爱. 本文,我们将和大 ...
- 用python 编写redis 暴力破解密码的程序
本文摘自http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/ import redisimport l ...
- 6.Srust2结果页面跳转
1. 结果页面存在两种方式 * 全局结果页面 > 条件:如果<package>包中的一些action都返回success,并且返回的页面都是同一个JSP页面,这样就可以配置全局的结果 ...
- Python with语句的概率,不多说了直接上代码!
python中的with语句用于访问资源.它确保执行指定的__exit__(“清理”)操作,而不管释放被访问资源的处理过程中的错误或异常,例如读取和写入文件后自动关闭.线程中锁的自动获取和释放等. p ...
- SQL Server SQLBindCol
说明 编辑 版本引入:ODBC 1.0 遵从标准:ISO 92 功能说明: SQLBindCol将应用程序的数据缓冲绑定到结果集的各列 函数原型: SQLRETURN SQLBindCol( SQLH ...
- thinkphp 域名部署
ThinkPHP支持模块(甚至可以包含控制器)的完整域名.子域名和IP部署功能,让你的模块变得更加灵活,模块绑定到域名或者IP后,URL地址中的模块名称就可以省略了,所以还可以起到简化URL的作用. ...
- 矩阵乘法分配律+bitset优化——hdu4920
因为是模3,所以把原矩阵拆成两个01矩阵,然后按分配律拆开分别进行矩阵乘法,行列用bitset来存进行优化即可 注意 int bitset<int>::count() 函数可以统计bits ...
- NX二次开发-UFUN获取工程图所有视图tag UF_DRAW_ask_views
#include <uf.h> #include <uf_draw.h> #include <uf_drf.h> #include <uf_obj.h> ...
- Vue-cli中使用vConsole,以及设置JS连续点击控制vConsole按钮显隐功能实现
最近发现了一个鹅厂的仓库,实现起来比我这个方便[捂脸].https://github.com/AlloyTeam/AlloyLever 一.vue-cli脚手架中搭建的项目引入vConsole调试 1 ...