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

03人机交互方式

     A:图像界面     方便,简单,直观。
     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文件夹                     
     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:关
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";  
-----------打印结果-------------------------
10String
String55
String55
58String  
-:减法运算符,负号
*:乘法运算符
/:除法运算符
    整数相除,结果只能是整数,要想结果是小数,必须要有一个是浮点型。
    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";  
-----------打印结果-------------------------
10String
String55
String55
58String  
-:减法运算符,负号
*:乘法运算符
/:除法运算符
    整数相除,结果只能是整数,要想结果是小数,必须要有一个是浮点型。
    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
原创粉丝点击