JAVA基础总结2
2.1 关键字
常用的关键字主要包括如下:
2.2 标识符
简单而言标识符它其实就是用于标识某些东西的符号。
2.3 注释的应用
注释说明
注释的作用:
注释的应用:
2.4 常量和变量
常量的定义与分类
进制的由来
注意:byte 是1个字节 = 8个二进制位, 1K = 1024。
进制的基本转换介绍
负数的进制
变量的介绍
JAVA的数据类型主要包含引用类型和基本数据类型,其中有8种基本数据类型
变量的基本演示
类型提升与强制转换说明
结果分别是97与98,其实就是二进制和生活中文字对应的关系表,即ASCII编码表,反之:System.out.println(char('a' + 1)), 输出结果等于b, 其中b对应的编码表里面的数字是98。
类型运算细节
class DemoTest20171015
{
public static void main(String[] args)
{
// int x = 3;
// byte b = 5;
// x = x + b;
// System.out.println("x=:" + x); // byte b = 3;
// b = (byte)(b + 200);
// System.out.println("b=:" + b); //输出结果为-53, 强制类型转换 // System.out.println('你' + 0); //输出结果为20320,即unicode国际编码表对应的关系 byte b = 4;
// b = 3+7;
// System.out.println("b=:" + b); //输出结果为10
// byte b1 = 3;
// byte b2 = 7;
// b = b1 + b2;
// System.out.println("b=:" + b); //编译报错,说int转换byte可能损失精度,原因是b1和b2是变量,其中它们的值是变化的,无法判断;
//而上面b = 3+7是属于固定的常量,可以判断,所以输出结果等于10. int x;
int x1 = 10;
int x2 = 98;
x = x1 + x2;
System.out.println("x=:" + x); //输出结果为108,因为x1和x2默认都是int类型,所以最终运算结果还是为整型,即int类型。 }
}
2.5 运算符
JAVA中主要包含以下6种运算符:
算术运算符
说明:算术运算符主要包含:+ - * / %(取余,模运算) ++(自增:在原有数据基础之上+1,再赋给原有数据) --
练习:
int x = 6370; x = x / 1000 * 1000 System.out.println(x); // 输出结果为6000 System.out.println(5 % 2); //输出结果为1 System.out.println(2 % 5); //输出结果为2 System.out.println(3 % 5); //输出结果为3 System.out.println(-5 % 2); //输出结果为-1 System.out.println(5%-2); //输出结果为1 System.out.println(5%5); //输出结果为0 注意:任何数字和字符串相连接,其结果为字符串,如:System.out.println("ab" + 5 + 5); //输出结果为ab55 int a = 3; a++; //a= a+1; System.out.println(a); //输出结果为4 int a =3,b; b = a++; System.out.println("a=" + a + ", b=" + b); //输出结果a=4, b=3 int a =3,b; b = ++a; System.out.println("a=" + a + ", b=" + b); //输出结果a=4, b=4 int i = 3; i = i++; System.out.println(i) ; //输出结果为3
赋值运算符
说明:主要包含: = += -= /= *= %=
int a = 4; a+=2;//a = a + 2; short s = 3; s+= 4;//输出结果为7 // s = s+4; //运行编译报错,有可能损失精度,原因是没有做强转,而s+=4可以自动做转换
比较运算符
逻辑运算符
思考:逻辑运算符有什么用呢?
用于连接两个boolean类型的表达式,如:2<x < 5, x > 2 & x < 5;
&符号的运算特点:
true & true = true;
true & false = false;
false & true = false;
false & false = false;
&符号的运算规律:
&运算符两边只有一个是false,结果肯定是false;只有两边都是true,结果才是true
|符号的运算特点:
true | true = true
false | true = true
true | false = true
false | false = false
|符号的运算规律
|运算符 的两边只要有一个是true,结果肯定是true;只有两边都是false,结果才是false
^:异或符号的运算特点:
true ^ true = false
false ^ true = true
true ^ false = true
false ^ false = false
^符号的运算规律:
^符号的两边结果如果相同,结果是false;两边的结果不同,结果是true。
!:非运算符,判断事物的另一面
!true = false;
!false = true;
!!true = true;
&&符号的运算特点:
和&运算的结果是一样的,但是运算过程有点小区别。
&符号无论左边的运算结果是什么,右边都参与运算;&&当左边为false时,右边不参与运算。
||符号的运算特点:
和|运算结果是一样的,但是运算过程有点小区别。
|符号无论左边的运算结果是什么,右边都参与运算;||当左边是true时,右边不参与运算。
位运算符
<< 相当于乘以2的倍数
>> 相当于除以2的倍数
移n位,就是对乘以或者除以2的n次幂。
图解
三元运算符
定义:简单而言就是三个元素参与运算的符号。
演示:
class OperateDemo
{
public static void main(String args[])
{
int x = 0, y;
y = (x > 1)?100:200;
System.out.println(y); // 输出结果为200 //获取两个整数中的较大的整数
int a,b;
int max = (a>b)?a:b; //获取三个整数中的较大的整数
int o,p,q;
int temp = (o>p)?o:p;
int max2 = (temp>q)?temp:q;
} }
练习:
1、 直接操作二进制位,或使用移位运算(2<<3)
2、
class OperateTest
{
public static void main(String[] args)
{
//最有效率的方式算出2乘以8等于几
System.out.println(2<<3); //对两个整型变量的值进行互换(不需要第三方变量)
int a = 3, b = 5;
System.out.println("a="+a+",b="+b); //开发时使用,使用第三方变量的形式,因为阅读性强
// int c;
// c = a;
// a = b;
// b = c;
// System.out.println("a="+a+",b="+b); //这种方式最好不要用,如果两个整数的数值过大,会超出int范围,会强制转换,数值会变化。
// a = a+b;//a = 3+5 = 8;
// b = a-b;//b = 3+5-5 = 3;
// a = a-b;//a = 3+5-3 = 5;
// System.out.println("a="+a+",b="+b); //面试时使用
a = a^b;//a = 3^5;
b = a^b;//b = (3^5)^5; b=3;
a = a^b;//a = (3^5)^3; a=5;
System.out.println("a="+a+",b="+b); }
}
2.6 语句
流程控制语句
2.6.1 判断结构
if语句三种格式:
1. if (条件表达式)
{
执行语句;
}
2. if (条件表达式)
{
执行语句;
}
else
{
执行语句;
}
3.if (条件表达式)
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
......
else
{
执行语句;
}
if 语句练习-星期
int week = 1;
if (week == 1)
{
System.out.println(week + "对应的中文是星期一");
}
else if (week == 2)
{
System.out.println(week + "对应的中文是星期二");
}
else if (week == 3)
{
System.out.println(week + "对应的中文是星期三");
}
else if (week == 4)
{
System.out.println(week + "对应的中文是星期四");
}
else if (week == 5)
{
System.out.println(week + "对应的中文是星期五");
}
else if (week == 6)
{
System.out.println(week + "对应的中文是星期六");
}
else if (week == 7)
{
System.out.println(week + "对应的中文是星期三日");
}
else
{
System.out.println("没有对应的星期");
}
if 语句练习-季节
int month = 13;
if (month <1 || month >12)
{
System.out.println("月没有对应的季节");
}
else if (month>=3 && month <= 5)
{
System.out.println("月是春季");
}
else if (month>=6 && month <= 8)
{
System.out.println("月是夏季");
}
else if (month>=9 && month <= 11)
{
System.out.println("月是秋季");
}
2.6.2 Switch语句
2.7 函数
定义
特点
应用
重载
2.8 数组
JAVA基础总结2的更多相关文章
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html 谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...
- 【JAVA面试题系列一】面试题总汇--JAVA基础部分
JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...
- 最适合作为Java基础面试题之Singleton模式
看似只是最简单的一种设计模式,可细细挖掘,static.synchronized.volatile关键字.内部类.对象克隆.序列化.枚举类型.反射和类加载机制等基础却又不易理解透彻的Java知识纷纷呼 ...
- java基础练习 字符串,控制流,日历,日期等
1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ...
- Java基础知识【下】( 转载)
http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...
- Java基础知识【上】(转载)
http://blog.csdn.net/silentbalanceyh/article/details/4608272 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...
- java基础学习03(java基础程序设计)
java基础程序设计 一.完成的目标 1. 掌握java中的数据类型划分 2. 8种基本数据类型的使用及数据类型转换 3. 位运算.运算符.表达式 4. 判断.循环语句的使用 5. break和con ...
- Java基础加强之多线程篇(线程创建与终止、互斥、通信、本地变量)
线程创建与终止 线程创建 Thread类与Runnable接口的关系 public interface Runnable { public abstract void run(); } public ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
随机推荐
- unity中object 对象之间用c# delegate方式进行通信
unity 3D经常需要设计到不同object之间数据通信和事件信息触发.这里可以利用C#本身的事件和代理的方法来实现. 这里实现了在GUI上点击按钮,触发事件,移动object cube移动的例子. ...
- 第6周-接口、内部类与Swing
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...
- 201521123005 《Java程序设计》 第十周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出 ...
- 201521123010 《Java程序设计》第14周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自 ...
- 201521123026《Java程序设》 第10周学习总结
1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 1.守护线程:setDaemon(true or false),如果所有前台线程死亡,守护线程自动结束,一般 ...
- 压缩空格的函数以及BCD码与ASCII相互转换函数
/**函数名:zip_space功能 :压缩空格的函数参数 : s 源字符串返回值: 0 成功**/ int zip_space(char *s){ int i,j; int len; ) { ; } ...
- Linux 安装 mysql 并配置
1.下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads 下载版本:我这里选择的5.6.33,通用版,linux下64位 也可 ...
- JavaScript中的ASCII碼轉換成字符的兩種方法
方法一:轉義字符 \xxx:用十六進制的ASCII碼值轉換成字符. 方法二:String方法 String.fromCharCode(value): //用十進制的ASCII碼值轉換成字符. 舉例:結 ...
- day18<集合框架+>
集合框架(Map集合概述和特点) 集合框架(Map集合的功能概述) 集合框架(Map集合的遍历之键找值) 集合框架(Map集合的遍历之键值对对象找键和值) 集合框架(Map集合的遍历之键值对对象找键和 ...
- js 递归函数的使用及常用函数
1.递归函数的使用: 公园里有一堆桃子,猴子每天吃掉一半,挑出一个坏的扔掉,第6天的时候发现还剩1个桃子,问原来有多少个桃子 var peache;function peaches(n) { if ( ...