java基础1
来源:互联网 发布:spss数据分析简单案例 编辑:程序博客网 时间:2024/05/21 07:04
Part1
01. 计算机的概述
计算机全称:电子计算机,俗称电脑,是一种能按照程序运行,自动,高速的处理海量数据的现代化智能电子设备。
计算机的应用:科学计算,数据处理,自动控制,cad,Ai(Artificial Intelligence)
计算机硬件:
在计算机系统中由电子,机械和光电 元件等组成的和种物理装置的总称。
cpu,主板,内存,电源,主机箱,显卡/,键盘,显示器。
计算机软件:
系统软件:dos,windows,Linux,Unix,Mac,Android,IOS
应用软件:office,qq,weixin
软件开发:用开发工具和计算机语言做软件
计算机语言:
02.软件开发概述
软件开发就是用开发工具和计算机语言做出软件
计算机语言: 人与计算机的交流方式
机器语言:0101001
汇编语言:
C语言
高级语言:java,c#,php,python
计算机语言: 人与计算机的交流方式
机器语言:0101001
汇编语言:
C语言
高级语言:java,c#,php,python
03人机交互方式
A:图像界面 方便,简单,直观。
B:DOS窗口方式 要有控制台,要记住很多的命令,麻烦。
B:DOS窗口方式 要有控制台,要记住很多的命令,麻烦。
04键盘功能键和快捷键介绍
A:键盘认识 Tab,Shift,Ctrl,Alt,Windows,空格,Enter,PrtSc,上下左右
Ctrl+A:全选
Ctrl+C :复制
Ctrl+V :粘贴
Ctrl+X :剪切
Ctrl+Z :取消
Ctrl+S :保存05打开DOS窗口的方式
常用:win+R
06常用的DOS命令
A: dir,显示当前文件夹的文件
B:盘符切换:d: 回车
C:目录切换:cd命令
当前位置:c:\> 切换到d盘,d: 回车 ; cd /d d:\ 回车
cd .. 回退上一级目录
cd\ 回到当前所在盘符的根目录
D:文件夹操作
mkdir test ,md test ;创建test文件夹
rmdir test,rd test ;删除test文件夹
C:目录切换:cd命令
当前位置:c:\> 切换到d盘,d: 回车 ; cd /d d:\ 回车
cd .. 回退上一级目录
cd\ 回到当前所在盘符的根目录
D:文件夹操作
mkdir test ,md test ;创建test文件夹
rmdir test,rd test ;删除test文件夹
D:cls 清屏
Exit 退出
07Java语言发展史和平台版本
James Gosling:詹姆斯,
Sun
J2se,Java se,开发java语言的标准版
J2Me,Java Me,手机版
J2EE ,Java EE,企业版
Java
对手C#,Ruby,Python
08.Java语言的特点及跨平台理解
简单性
面向对象
分布式处理
健壮性
结构中立
开源
跨平台:
原理:面向翻译说话,由翻译向不同的平台对话,由jvm翻译
Java是跨平台的,jvm不是跨平台的,不同的系统有不同版本的jvm,保证java的跨平台性
解释性
高性能
多线程
多态
安全性
09JRE与JDK的概述
Jre:java runtime environment ,包含jvm,核心类库,保证跨平台
Jdk:java development kit,提供给java开发人员的工具包,包含了jre
10JDK的下载步骤
http:www.oracle.com 下载jdk,注意32位64位,平台,windwos,linux
11JDK的安装步骤
12HelloWorld案例讲解
/**
HelloWorld demo
*/
classHelloWorld{
Publicstaticvoid main(String[] args){
System.out.println(“HelloWorld!”);
}
}
注意:class类名没有public时 建议类名与文件名相同,当class用public 修饰时,
类名与文件名必须相同。
13HelloWorld案例的编译和运行
javac *.java
java *
14 HelloWorld案例的常见问题
1. 文件扩展名隐藏导致的错误Demo.java.txt,修改文件夹选项
2. 中文符号引起的问题(;;);中文字符改为英文符号
3. Main方法写错引起
4. class写成Class,String写成string,System写成system
5. 括号搭配不正确,编写时成对写
6. 源文件发生变化后要重新编译后再运行
7. 缩进问题,空格问题(遇到大括号缩进一次)
15为什么要配置环境变量
Path:让指定文件在不同的路径执行 Classpath 临时path,classpath 。。。。cmd start
16EditPlus工具的配置
打开:Tools\Preferences\Tools\User tools : Add Tools对话框点击Add Tools 配制javac 与java 命令用于快速编译和运行java程序
17Java中的关键字概述
关键字,java中所有关键字全部小写
18Java中的标识符详解
; 分号,java中使用分号作为语句的分隔,每个java语句必须使用分号结尾。每个语句可以跨多行,只要在最后的地方使用分号结尾即可。
注意:一个字符串,变量名不可以跨行
例如:String str="Hello
World"; //字符串不能跨越多行
String na
me="HelloWorld";//变量名不可以跨行
{} 花括号定义一个代码块,成对出现
[] 方括号,主要作用是访问数组元素。
() 圆括号,是一个功能非常丰富的分隔符
定义方法时必须使用圆括号来包含所有的形参声明
调用方法时必须使用圆括号来传入实际值;
将表达式的某个部分括成一个整体,保证这个部分优先计算
强制类型转换。
空格,java使用空格分隔一个语句的不同部分。空格可以出现在java的任何地方,也可以出现任意多个空格。但是不能使用空格分隔一个变量名,会导致程序出错。
. 圆点,通常作为类、对象和它的成员(field,方法,内部类)之间的分隔符,表明调用某个类或实例的指定成员。
标志符:给类,变量,方法起名字
标志符组成规则:由数字0-9,英文字母,美元符号,下划线组成,变量名不能使用关键字,区分大小写
命名规则:不能使用关键字,不能以数字开头,以下划线_,美元符号$,字母单词组成
命名规范:
驼峰命名法。
类名,首字母大写;变量名,驼峰命名法;final,全部大写;
包名:多个单词时所有字母都小写xx.yy.xz
类名:首字母大写,多个单词时每个单词的首字母大写ZxYzZZ
变量名,函数名:多个单词组成时,第一个单词首字母小写xxYyZZ
常量名:每个单词大写,单词与单词之间用下划线隔开GG_MM
19.Java中的注释概述
单行注释 // something
多行注释 /* something */
文档注释 /** something */
Part 2
1.常量的概念和分类
固定的量,constant,在程序的运行过程中值不变的量。
表示:
字面值常量
整数常量,实数常量,字符常量(' ')字符表示,布尔常量,空常量null
自定义学常量
2.进制的分类及相互转换方法
二进制
1:开,0:关
1:开,0:关
1byte=8bit
1k=1024byte
1M=1024k
1G=1024M
1T=1024G
进制越大,表现的形式越短
x进制,基数就是x进制
系数乘以位权
字节数据
二:ob10010 ,String.valueof();
八:
十
十六进制:ox
进制转换:
辗转除法
例:求十进制45转二进制,对十进制数进行除以2的运算,直到商为0,余数反转。
45=0b101101
10 9 8 7 6 5 4 3 2 1 0 (2^x次方)
1024 512 256 128 64 32 16 8 4 2 1 (位权)
2 进制转10进制,二进制乘以2的过程
2进制转16进制: 从低到高,4 位一组,不到三位高位补0
0101 1010
5 a
=0x5a
2进制转8 进制:从低到高,3位一组,不到三位高位补0
16进制转2进制:
60 =ox3c=074;//074注意要在前面加0
244=f4=0364;
有符号数据的表示方法:
在计算机中数据以被码的形式存在。 数据有正负之分,最高位为符号位,0 表示正,1 表示负
反码:正数的补码,反码都是它本身,负数的反码与补码不同,规则是符号位不变,其它各位取反。
负数的被码:反码+1
7的原码,反码,补码: 0 0000111
-7的原码: 1 0000111
-7的反码:1 1111000
-7的补码:1 1111001
练习:(切记符号位不变)
已知原码:10110100,求反码,补码。
1 0110100
1 1001011 (取反)
1 0110100 (加1)
反码:11001011,补码:11001100
已知补码11101110,求原码(-1再求 反码)
1 1101110
1 1101101 (减1)
1 0010010 (取反)
原码: 10010010
-128 10000000
常用字符与ASCII代码对照表
3.变量的定义和使用
变量是内存中的一小块区域,在指定范围内可以改变的量。
变量要有自己的数据类型和名称。
为何要定义变量:可以重复使用某个值,
标识符:
区分大小写,由 26英语字母,_,$,数字不可以开发,不可以使用关键字
全名规范
包名:多个单词组成时所有单词都小写.com.xx.yy
类名接口名:多个单词组成时,所有单词的首字母大写XxxYyyZzz
常量名:所有字母都大写,多个单词时每个单词用下划线连接。XXX_YYY_ZZZ
4.数据类型
4.1基本数据类型:
数值型:
byte 1
short 2
int 4 默认
long 8 注意L后缀
浮点型
float 4 注意F后缀
double 8 默认
(float :1 符号位,8位指数,23位尾数
double:1符号,11指数,52尾数)
java7 新增:数值中使用下划线
double pi=3.14_15_92;
字符型
char 2
布尔
boolean 1(一个字节,一位,不明确,看底层实现 )
数据类型 变量名;
系统默认,整数int,小数double
4.2引用数据类型:
引用类型变量就是一个指针
类:
接口:
数组:
NULL类型:
BigDecimal 提供相对精确的
double a=1/3D;
double b=2/3D;
sop(a+b);
BigDecimal b1=newBigDecimal(Double.toString(a));
BigDecimal b2=newBigDecimal(Double.toString(b));
sop(b1.add(b2).doubleValue());
注意:
在一个大括号{}内是不能重复定义一个变量的。
初始化后再使用
命名要有意义
long,float定义的时候加L,F(l,f也可以但是容易混淆)
变量的定义格式有2 种
定义并初始化,;定义(数据类型 变量名) ,调用前赋值
布尔值不可以参与类型转换
自动转换(隐式转换):从小到大的转换
(byte->short)||(char)->int->long->float->double;
byte a=10;int b=a;//自动将byte类型转换为int类型
强制转制(显示转换):从大到小的转换
int a=10;byte b=a;//错误,可能损失精度
int a=10;byte b=(byte)a;//显示,强制转换q
注意:4字节的float最大值>8字节的long
byte,short,char ---- int------ ,long,float,double
byte b=100;底层自动转为byte
byte b2 = (byte)130;
System.out.println(b2);//-126
过程分析
//1得到130的补码(整数补码等于原码)
00000000 00000000 00000000 10000010
//使用byte强转,留下后8位(得到的数为一个补码内容)
10000010(补码)
//为了能知道这个数实际表示的值,我们需要根据它求原码
补码=原码(取反)--->(+1)
原码=(补码-1)--->取反
补码:10000010
反码:10000001
原码:11111110
'0' 48
'A' 65
'a' 97
5.运算符
+:加法运算符,字符串连接符,正号
String s=5+5+"String";
String s1="String"+5+5;
String s2="String"+'5'+5;
String s3='5'+5+"String"; -----------打印结果-------------------------
10StringString55String5558String
-:减法运算符,负号
*:乘法运算符
/:除法运算符
整数相除,结果只能是整数,要想结果是小数,必须要有一个是浮点型。
float f1=5/2;//结果为2.0
float f2=5/2.0//错误
float f3=5/2.0f//结果:2.5
如果两个操作数都是整数,则除数不可以是整数
如果两个操作数有浮点数,则允许除数是0
%:取模
System.out.println(5%2);//1
System.out.println(2%3);//2
System.out.println(3%3);//0
System.out.println(-5%2);//-1
System.out.println(2%-3);//2
System.out.println(-2%-3);//-2
System.out.println(-3%-3);//0
如果两个操作数都是整数,则第二个运算数不能为0
如果两个操作数中有浮点数,则第二个运算数可以是0或0.0,结果NaN
++:
单独作用效果一样。
参与运算时,前后不一致。
i++,(++)在变量右边,变量先参与运算,再自增1,
++i,(++)在变量左边,变量先自增1,再参与运算,
--:
+= :
short s=5;
s+=2;//等价于:s=(short)(s+5);
//s=s+5;报错
System.out.println(s);
&:与
&&:与,短路与
|:或
!:非
^:异或
比较 运算符
>
<
>=
<=
!=
==
运算符的优先级(从高到低)
程序中尽量使用()来改变运算顺序
分隔符
;表示语句结束
空格 关键字的前后必须有空格,运算符两端可有可无,建议要有。
逻辑运算符
用于连接结果是布尔型表达式的运算符
& 逻辑与
| 逻辑或
! 逻辑非
^ 异或
&& 短路与
|| 短路或
逻辑与:有假则假
逻辑或:有真则真
逻辑非
以前真则假,以前假则假,奇数次取反(无效)
逻辑异或
,偶数次
&& 如果前面出现false 则停止判断返回false
|| 如果前面出现true,则停止判断返回true
------- android培训、java培训、期待与您交流! -------
有符号数据的表示方法:
在计算机中数据以被码的形式存在。 数据有正负之分,最高位为符号位,0 表示正,1 表示负
反码:正数的补码,反码都是它本身,负数的反码与补码不同,规则是符号位不变,其它各位取反。
负数的被码:反码+1
7的原码,反码,补码: 0 0000111
-7的原码: 1 0000111
-7的反码:1 1111000
-7的补码:1 1111001
练习:(切记符号位不变)
已知原码:10110100,求反码,补码。
1 0110100
1 1001011 (取反)
1 0110100 (加1)
反码:11001011,补码:11001100
已知补码11101110,求原码(-1再求 反码)
1 1101110
1 1101101 (减1)
1 0010010 (取反)
原码: 10010010
-128 10000000
常用字符与ASCII代码对照表
3.变量的定义和使用
变量是内存中的一小块区域,在指定范围内可以改变的量。
变量要有自己的数据类型和名称。
为何要定义变量:可以重复使用某个值,
标识符:
区分大小写,由 26英语字母,_,$,数字不可以开发,不可以使用关键字
全名规范
包名:多个单词组成时所有单词都小写.com.xx.yy
类名接口名:多个单词组成时,所有单词的首字母大写XxxYyyZzz
常量名:所有字母都大写,多个单词时每个单词用下划线连接。XXX_YYY_ZZZ
4.数据类型
4.1基本数据类型:
数值型:
byte 1
short 2
int 4 默认
long 8 注意L后缀
浮点型
float 4 注意F后缀
double 8 默认
(float :1 符号位,8位指数,23位尾数
double:1符号,11指数,52尾数)
java7 新增:数值中使用下划线
double pi=3.14_15_92;
字符型
char 2
布尔
boolean 1(一个字节,一位,不明确,看底层实现 )
数据类型 变量名;
系统默认,整数int,小数double
4.2引用数据类型:
引用类型变量就是一个指针
类:
接口:
数组:
NULL类型:
BigDecimal 提供相对精确的
double a=1/3D;
double b=2/3D;
sop(a+b);
BigDecimal b1=new BigDecimal(Double.toString(a));
BigDecimal b2=new BigDecimal(Double.toString(b));
sop(b1.add(b2).doubleValue());
注意:
在一个大括号{}内是不能重复定义一个变量的。
初始化后再使用
命名要有意义
long,float定义的时候加L,F(l,f也可以但是容易混淆)
变量的定义格式有2 种
定义并初始化,;定义(数据类型 变量名) ,调用前赋值
布尔值不可以参与类型转换
自动转换(隐式转换):从小到大的转换
(byte->short)||(char)->int->long->float->double;
byte a=10;int b=a;//自动将byte类型转换为int类型
强制转制(显示转换):从大到小的转换
int a=10;byte b=a;//错误,可能损失精度
int a=10;byte b=(byte)a;//显示,强制转换q
注意:4字节的float最大值>8字节的long
byte,short,char ---- int------ ,long,float,double
byte b=100;底层自动转为byte
byte b2 = (byte)130;
System.out.println(b2);//-126
过程分析
//1得到130的补码(整数补码等于原码)
00000000 00000000 00000000 10000010
//使用byte强转,留下后8位(得到的数为一个补码内容)
10000010(补码)
//为了能知道这个数实际表示的值,我们需要根据它求原码
补码=原码(取反)--->(+1)
原码=(补码-1)--->取反
补码:10000010
反码:10000001
原码:11111110
'0' 48
'A' 65
'a' 97
5.运算符
+:加法运算符,字符串连接符,正号
String s=5+5+"String";
String s1="String"+5+5;
String s2="String"+'5'+5;
String s3='5'+5+"String"; -----------打印结果-------------------------
10StringString55String5558String
-:减法运算符,负号
*:乘法运算符
/:除法运算符
整数相除,结果只能是整数,要想结果是小数,必须要有一个是浮点型。
float f1=5/2;//结果为2.0
float f2=5/2.0//错误
float f3=5/2.0f//结果:2.5
如果两个操作数都是整数,则除数不可以是整数
如果两个操作数有浮点数,则允许除数是0
%:取模
System.out.println(5%2);//1
System.out.println(2%3);//2
System.out.println(3%3);//0
System.out.println(-5%2);//-1
System.out.println(2%-3);//2
System.out.println(-2%-3);//-2
System.out.println(-3%-3); //0
如果两个操作数都是整数,则第二个运算数不能为0
如果两个操作数中有浮点数,则第二个运算数可以是0或0.0,结果NaN
++:
单独作用效果一样。
参与运算时,前后不一致。
i++,(++)在变量右边,变量先参与运算,再自增1,
++i,(++)在变量左边,变量先自增1,再参与运算,
--:
+= :
short s=5;
s+=2;//等价于:s=(short)(s+5);
//s=s+5;报错
System.out.println(s);
&:与
&&:与,短路与
|:或
!:非
^:异或
比较 运算符
>
<
>=
<=
!=
==
运算符的优先级(从高到低)
程序中尽量使用()来改变运算顺序
分隔符
;表示语句结束
空格 关键字的前后必须有空格,运算符两端可有可无,建议要有。
逻辑运算符
用于连接结果是布尔型表达式的运算符
& 逻辑与
| 逻辑或
! 逻辑非
^ 异或
&& 短路与
|| 短路或
逻辑与:有假则假
逻辑或:有真则真
逻辑非
以前真则假,以前假则假,奇数次取反(无效)
逻辑异或
,偶数次
&& 如果前面出现false 则停止判断返回false
|| 如果前面出现true,则停止判断返回true
0 0
- Java基础--基础语法1
- Java基础-1、基础语法
- 1-1 java基础
- java基础(1)
- Java基础学习1
- JAVA基础1
- java基础(1)
- Java 基础题1
- java基础1
- Java线程基础1
- java基础1、2
- java基础整理1
- java基础加强1
- java基础1
- Java基础1 概述
- java基础加强1
- java基础笔记1
- java 基础1
- Android Api Component---翻译任务和回退栈(Tasks and Back Stack)
- WebService到底是什么?
- 分治法:归并排序分析
- Java中的匿名内部类
- Linux rpm 命令参数使用详解[介绍和应用]
- java基础1
- 一些总结
- Longest Palindromic Substring
- 如何设置win+R(运行)输入软件名就可以打开相应的软件?
- WCF和WebService的区别?(转载)
- main() 函数详解
- Android初体会(一)之四大组件
- 【图像处理】Python-Image 基本的图像处理操作
- 对于单例的学习总结,包括懒汉式和饿汉式的区别,比较浅显,可能有不足,希望大家多多指教。