也许是出于好奇,也许是冲动,从大学开始,就对这个行业比较热爱,但是怎么说,还是自己的努力不足,最终在毕业的时候没能选择这份工作,尝试了很多家的JAVA研发,最终还是以失败告终。至此,我在毕业上班后的一两个月内想了很多,总结了几点:第一是自己学技术断断续续,以至于最终达成了似是而非的结果, 还有就是没能坚持下来,这一点最重要。
以下则是从开始学习,总结的基础语法,以供借鉴:
1.计算机基础之操作
1.1 键盘基础功能键
Tab
Shift
Ctrl
Alt
空格
Enter
Window
上下左右键
1.2 键盘快捷键
Ctrl+A 全选
Ctrl+C 复制
Ctrl+V 粘贴
Ctrl+X 剪切
Ctrl+Z 撤销
Ctrl+S 保存
Alt+F4 关闭窗口
window+R 运行
window+E 打开我的电脑
window+TAB 在打开的项目之间切换
Ctrl+Alt+Del 注销/任务管理器
SHIFT+DELETE 永久删除
拖动某一项时按CTRL复制所选项目
1.3 DOS命令控制台:WIN + R 进入命令控制台,键入cmd,进入DOS命令控制台
d: 回车 盘符切换
dir(directory):列出当前目录下的文件以及文件夹
cd (change directory)改变指定目录(进入指定目录) 注意 跨盘进入需要加一个 /d参数 例cd /d D:\software\cs1.6
cd.. 退回到上一级目录 回退多级目录 cd ../../
cd\: 退回到根目录
cls (clear screen)清屏
exit 退出dos命令行
ipconfig /all 查看本机IP 网卡物理地址等信息
calc 打开计算器
mspaint 打开画板
notepad 打开记事本
hostname 获取计算机名称
getmac 获取物理网卡地址
md (make directory) 创建目录
rd (remove directory) 删除目录
del (delete)删除文件,删除一堆后缀名一样的文件 del *.txt
删除带内容的文件夹,不能直接删除,所以加参数,如下:
rd + /s 文件夹名称 (询问是否删除)
rd + /q + /s 文件夹名称 (直接删除)
2.JAVA语言基础
2.1 Java跨平台原理
a.跨平台性 (平台指定的是操作系统)
通过Java语言编写的应用程序在不同的系统平台上都可以运行。
b.Java语言跨平台原理
只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。 由JVM来负责Java程序在该系统中的运行。
c.Java语言跨平台图解
因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。
这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。
JAVA语言是跨平台的,而JVM是不跨平台的,应为针对不同的操作系统,JAVA提供了不同的JVM,而各个操作系统的可执行文件是不同的。
2.2 JRE与JDK的含义与区别
JRE:Java Runtime Environment(Java运行环境)
包括Java虚拟机(JAVA virtual machine)和Java程序所需的核心类库。
运行java程序的前提只要计算机安装好JRE即可。
JDK:(JAVA Development Kit),java开发工具包,包括JRE。
Java开发工具都是用java语言写的应用程序。
关联:JDK编写好程序之后,由JRE运行,由JVM实现跨平台。
2.3 第一个JAVA程序的编写
1.创建文本文档HelloWorld.java
2.编写程序
class HelloWorld{
public static void main(String[] args){
System.out.println("hello,World!");
}
}
3.编译和运行:
编译:javac 文件名.java
运行:java 文件名
2.4 环境变量的配置
1.步骤:
(1):先配置JAVA_HOME
在系统环境变量中: 新建JAVA_HOME
变量值=D:\develop\Java\jdk1.7.0_72
(2):再修改path
在path前面添加: %JAVA_HOME%\bin;
2.为什么要配置classpath
classpath变量是模仿我们的path变量做的,是为了让我们的字节码文件在任意路径下都执行。
2.5 JAVA关键字和标识符
关键字:就是被Java语言赋予特殊含义的单词(都是小写字母组成);
举例:class,public,static,void .....
标识符:给类,接口,方法,变量,常量等起名字时使用的字符序列;
1:标识符的组成规则
(1): 英文的大小写字母
(2): 数字字符
(3): $和_
2:标识符注意事项
(1): 不能以数字开头
(2): 不能是java中的关键字
(3): 区分大小写
具体规则:
A:包(就是文件夹,它的存在是为了解决我们同一个目录下不能同 时存在两个相同名称的文件。)
字母都是小写 itcast
B:类或者接口
一个单词: 首字母大写,其余字母小写 Student , Teacher , Spring , Struts , Hibernate
多个单词: 每一个单词的首字母都是大写,其余字母小写 StudentName , UserLoginController
C:方法或者变量
一个单词: 字母全是小写 name , age
多个单词: 从第二个单词开始,首字母大写,其余字母小写 getName , getAge
D:常量
一个单词: 字母全是大写 NAME , AGE
多个单词: 字母全是大写,每一个单词之间使用 _ 隔开 STUDENT_MAX_AGE
2.6 Java常量与变量
1.常量:就是在程序的执行过程中其值不发生改变的量。
Java中常量的分类
(1):字面值常量
(2):自定义常量(面向对象部分讲解)
*字面值常量的分类
(1): 字符串常量 用双引号括起来的内容 "HelloWorld" ,"Hello"
(2): 整数常量 所有整数 12,23
(3): 小数常量 所有小数 12.34,56.78
(4): 字符常量 用单引号括起来的内容 'a','A','0'
(5): 布尔常量 较为特有,只有true和false
(6): 空常量 null(数组部分讲解)
2.变量:在程序执行的过程中,在某个范围内其值可以发生改变的量, 变量其实是内存中的一小块区域。
a.为什么要定义变量
用来不断的存放同一类型的常量,并可以重复使用
b.变量的定义格式
数据类型 变量名 = 变量值 ;
c.使用变量注意事项:
1>.作用域问题:变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
2>.初始化值:没有初始化值不能直接使用
3>.在一行上建议只定义一个变量,可以定义多个,但是不建议。
2.7 数据类型概述与分类
数据类型:
变量其实就是内存中的一小块区域。我们定义一个变量,其 实就是开辟了一个内存空间。如果没有数据类型,那么我们需要开辟多大的内存空间合适呢?为了解决这种问题,java就给我们提供了不同的数据类型,那么针对不同的数据类型,在内存中分配了不同大小的内存空间。
Java中数据类型的分类:
(1): 基本数据类型
(2): 引用数据类型(后面讲解): 数组 , 类 , 接口
基本数据类型的详细讲解
1): 数值型
整数型 字节数 范围
byte 1(8bit) -128 ~ 127
short 2(16bit) -2^15 ~ 2^15 - 1
int 4(32bit) -2^31 ~ 2^31 - 1
long 8(64bit) -2^63 ~ 2^63 - 1
浮点数
float 4(32bit) -3.403*10^38 ~ 3.403*10^38
double 8(64bit) -1.798*10^308 ~ 1.798*10^308
2):字符型 char 2(16bit) 0 ~ 2^16 - 1 = 65535
3):布尔型 boolean 1
整数默认是int类型的 , 浮点数默认是 double类型的
2.8 数据类型转换
1.Java中的默认转换规则:
(1): boolean类型不能转换为其他的数据类型
(2): byte,short,char—int—long—float—double
(3): byte,short,char之间不转换,他们参与运算首先转换为int类型
2.强制转换的格式
目标数据类型 变量名=(目标数据类型)(被转换的数据);
3.强制转换的注意事项
尽量不要使用强制类型转化,因为可能存在损失精度的问题。
4.Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。
所以,Java中的字符可以存储一个中文汉字。
2.9 字符与字符串运算
A:案例演示
System.out.println('a');
System.out.println('a' + 1);
通过看结果知道'a'的值是多少,由此引出ASCII码表
B:ASCII码表的概述
记住三个值:
'0' 48
'A' 65
'a' 97
C:案例演示
System.out.println("hello" + 'a' + 1);
System.out.println('a' + 1 + "hello");
D:案例演示
请分别计算出a,b,c的值?
int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
a=9
b=10
c=8
E:案例演示
请分别计算出x,y的值?
int x = 4;
int y = (x++) + (++x) + (x*10);
x=6 , y=70
2.10 赋值运算符
a.赋值运算符有哪些
=, +=,-=,*=,/=,%=
b:扩展的赋值运算符:+=,-=,*=,/=,%=
例:+= :把左边和右边做加法,然后赋值给左边。
c: 赋值运算符要求左边的数据必须是一个变量
d:案例演示
面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
short s=1;
s = s+1; 错误:精度损失。
short s=1;
s+=1;//正确,强制类型转换。