前段时间听朋友说程序员要不断扩充自己的知识库,才能跟上时代的步伐,通过博客和论坛使自己提升是一个很好的手段,我们不仅要看别人的博客,同时把自己的所见,所知,所感所想与别人一起分享也是很不错的.好了废话不多说,先整理一下java的基础知识: 首先java有很多集成工具:eclipse,myeclipse(收费软件),idea等;初学者不建议使用idea,可以尝试使用eclipse,这是一款很好用的软件,对一些刚接触java的人来说非常友好.
一:java中的数据名称以及种类
a.常量: 在程序中 执行过程中其值不发生改变的量
主要有以下几点:字符串常量 字符常量 整数常量 小数常量 布尔型常量 空常量
b.变量:
在程序执行过程中 在一定范围内可以发生改变的量 定义格式 数据类型 变量名 = 初始化值; 数据类型 变量名; 变量名 = 初始化值; 变量在使用之前 必须有值 变量是在内存中的一小块区域 数据类型: 基本数据类型(四类八种);引用数据类型(类/接口/数组) 隐式转换 小的转大的 大的数据类型可以直接接受小的数据类型 强制转换 大的转小的 小的数据类型 变量名 = (小的数据类型)大的数据类型变量; 注释:单行注释:// 多行注释:/**/ 标识符:命名方式(类型较多,在此不再详说)
二:运算符在java中很常见,与数学中的类似,但也不全相同
a.算数运算符(+,-,*,/),另外还有两个特殊的:(% 取余 取模 )
b.++/--运算符,这个在java中非常常见,也很重要
++放在操作数的前面 先自加 再参与运算 --放在操作数的后面 先参与运算 再自加
c.赋值运算符
+= -= %= 左边跟右边进行相应的运算 赋值给左边
d.关系运算符
== !=
e.逻辑运算符
& 有false则false |有true则true !非false则true 非true则false ^ 相同为false 不同为true
f.三元运算符
(布尔类型表达式)? 表达式1 : 表达式2;
三:Scanner键盘录入:
程序中我们不仅可以自己定义数据,也可以通过键盘录入的方式,这时候我们可以使用Scanner来实现 Scanner:jdk提供了,但我们需要三步 a.导包:import java.util.Scanner(java.util.*) b.创建Scanner对象 Scanner sc = new Scanner(); c.然后可以调用sc.nextInt();sc.nextLine();sc.next();
四:java程序的执行顺序,jvm虚拟机,一般将main方法作为程序的入口:
执行顺序有: a.顺序结构语句 从上至下 b.选择结构(非常常用) 1.if语句 三种格式 if(){ } 2.if(){ }else{ } 3.if(){ }else if(){ }... else{ } c.循环结构(1和2常用) 1.for(初始化表达式;判断表达式;步进表达式){ 循环体语句; } 2.while(判断表达式){ 循环体语句; 步进表达式; } 3.do..while.. 循环结构中 break: 中断语句 只要遇到它 语句中断 停止 switch 循环 continue 只跳出本次循环,继续执行循环语句 4.switch语句(常见:遥控器) switch(表达式){ case 值1 : 语句; break; ... .. default: .. break; }
五:数组:
存储同一种数据类型多个元素的容器
可以存放基本数据类型,也可以存放引用数据类型 特点:长度一定,有顺序,有索引 定义方式: 数据类型[] 数组名 = new 数据类型[数组长度]; 数据类型[] 数组名 = new 数据类型[]{元素1,元素2...} 简化形式 数据类型[] 数组名 ={元素1,元素2...} 数组遍历:for循环(遍历是很常见的操作,可以获取数组中的每个数据) 数组操作常见两个异常:数组空指针异常;数值索引越界异常; 内存: 栈 存放局部变量 方法运行要入栈 ---压栈 方法执行完毕 要弹栈 先进后出 堆 1:存放new出来 2:new就有地址 3:默认初始值 方法区 结构复杂 了解 面向对象 本地方法区 跟系统相关的 寄存器 CPU