首页 > 编程语言 > 详细

java基础学习

时间:2019-02-18 10:32:03      阅读:220      评论:0      收藏:0      [点我收藏+]

一、基础语法学习

技术分享图片
-------------------------restframework
1. Restful规范
    一、后端发送列表、字典
    二、 request获取get.post数据
2. APIVIEW

3. 序列化组件
from app01 import myserial
class Book(APIVIEW):
    def get(self,request):
        response = MyResponse()
        books = models.Book.objects.all()
        ret = myserial.BookSer(books,many=True)
        response.msg = 查询成功
        response.data = ret.data
        return Jsonponse(response.get_dic,safe=False)
        
        
        
        
        



4. 视图组件

5. 解析器

6. 认证组件

7. 权限组件

8. 频率组件

9. 分页器

10. 相应器

11. url控制器

12. 版本控制




------------java-------------
1. java的三个版本
    ee
    se
    me
2. Java跨平台原理
    在不同的操作系统上有不同的jvm虚拟机,Java程序运行
    在虚拟机中,并不是直接运行在操作系统之上的
3. jvm
    java virtual mahine:主要目的是中介
4. 开发环境
    JRE
        - java runtime environment
        - 包含JVM,和一些核心类库(API)
    JDK
        - java development kit
        
    JDK = JRE + 工具类
        - 开发人员使用的
        - 包含Java的开发工具,也包含了JRE
        - 其中的开发工具:
            编译工具(javac.exe)
            打包工具(jar.exe)等
        - 下载
            www.oracle.com
            Java SE 8u191/192
        - 安装
            jdk8111
            安装jre
            测试成功:
                - cmd里输入java
                - cmd里输入javac
                - 配置环境变量bin
                
        - 卸载
            - 所有程序里卸载两个
            
5. 使用
    - .java文件----javac.exe---->.class文件----java.exe---->结果
                    编译                        运行
    - 新建个demo.java文件
        - notepad++的设置
            首选项语言选择java
            使用ANSI编码
    - 运行
        cmd里javac.exe Demo.java,生成.class文件
        cmd里输入java Demo
            
6. classpath
    classpath是java命令,寻找可执行的class字节码文件的路径
    1.6之前有classpath这个环境变量的设置  
        - set classpath=c:/code
    之后直接 java -cp c:\,c:\code1 Dema
7. 注释
    单行 //
    多行 /*   */
            public
            
8. 常用dos命令
    cd
    md 
    rd
    del
    exit
    echo
            
9. 关键字
    全是小写字母
        定义类的
            - class
            - void
            .
        定义流程控制
            - if
        定义访问权限
            - public
            - private
            - protected
        定义类、方法、变量修饰符
            - static
        用于定义建立实例
            - new
10. 标识符
        字母、数字、_,$组成
        不能以数字开头
        严格区分大小写
        java中名称规范:
            - 包名:
                小写,如xxx,yyy
            - 类名
                首字母大写,XxxYyy
            - 变量名,方法名
                多单词组成时,第一个单词首字母小写,第二个单词首字母大写
                xxxYyyZzz
                main
            - final变量名,所有字母都大写,单词之间有下划线分割
                XXX_YYY_ZZZ
                MAX_VALUE
11. 常量和变量
    常量(字面量)
        - 整数
            - 0b101
            - 0177
            - 0xa1
        - 小数
        - 布尔
        - 字符
            - 单引号括起来的字母,数字或者符号(有且只有一个字符:空格也是一个字符)
        - 字符串
        - null
    
12. 负数
    负数在计算机中是以补码的形式存在的
    如求-5
        +5      符号位     数值位
        +5       0         000 0101
        -5原码   1         000 0101
        -5反码   1         111 1010
        -5补码   1         111 1011
    快速求取负数补码的方式:
        正数原码,从右向左数直到1,将1左边的值全部取反,
        
13. 变量
    - 先定义,后赋值
        int b;
        b = 30;

14. 常量和变量,基本数据类型
    基本数据类型
        数值型
            整型
                byte, short , int , long
                8bit   16      32    64   
            浮点型
                float,     double
                 32 0.0D     64 0.0F
        
        字符串char
            16bit
        布尔型boolean
        
        (整数默认int,小数默认double,字符串是类,String,是引用数据类型)
    引用数据类型
        类class
        接口interface
        数组[]
        
15. 数据类型的转换
    - 只有相同类型的数据才能进行计算
    - 若数据类型不同
        - 系统会自动类型转换:隐式转换(从小范围到大范围)
            int a=10;
            double b=1.5
            double res = a+bin
        - 显式转换:从大范围到小范围,发生的是高位截断操作
            目标类型 变量名 = (目标类型)被转换的值;
            如:
                int i=10
                byte b = (byte)i;
        - 浮点型到整型的转换,先取整,然后高位截断
        
    char型
        - char型变量参与运算,实际上使用的是对应的int型值
            char ch = a;
            System.out.println(ch+0) #97 
        - 定义char型变量,可以直接指定int值
            char ch2 = 65
            System.out.println(ch2);#A
16.思考题
    - 赋值语句右边如果是常量组成的表达式,在编译阶段直接算出结果
        b = 3+4;
        -> b = 7;
    - byte a = (byte)130  #-126
    
        1000 0010  -126
        0111 1110  126
        0111 1111  127
        
        1111 1111  -1
        0111 1111  最大正数
        
17. 运算符
        - 赋值运算符
            =
            扩展赋值运算的
                - +=。。。
                    int a=0;
                    a +=10;
                - 可以自动的进行类型转换,以匹配等号左侧的变量类型
                    -eg1    
                        byte s=1;
                        s +=1; //s=s+1,相当于s=(byte)(s+1);
                    -eg2
                        byte s=127;
                        s+=1; //s=(byte)(127+1)  --> -128
        
        - 算术运算符
            - + - 。。
                - %取模操作的结果正负取决于被模数,即%前面的数的符号决定了结果的正负
            - ++ 针对变量进行操作的
                前++:放到变量前
                    int a=10;
                    int b=++a;
                    先把变量值加1,拿去运算,经过这个操作后,变量的值已经是加1了
                后++int b=a++;
                    先把变量原来的值运算,经过这个操作后,变量的值已经是加1了
                    
            - eg1
                int a=4;
                int b =(++a)+(a++)+(a*10)   #a=6 b=70
            - 字符串连接字符“+- 字符串连接符要求+两侧紧挨着的操作数中有字符串
                 System.out.println("hello"+10+20)  #hello 1020
                 System.out.println(5+5+"hello"); #10hello
             
        - 比较运算符
            == ,比较的结果是boolean型,true或者false
            
        - 逻辑运算符
            & 
            |^  异或   两个操作数不同时, 为true
            && 短路与
                单&时,左边无论真假,右边都计算
                &&时,若左边为假,右边不参与运算
            || 短路或
                ||时,左边为真,右边不参与运算,同上
        - 位运算符
            针对的是数的二进制位进行操作的
            << 左移:左侧高位丢弃,右侧空出的位用0补充
            >> 带符号右移:低位丢弃,左侧用原来的符号位进行补充(正数是0)
                -1带符号右移任意位,都不改变其值
                
            >>> 无符号右移:低位丢弃,左侧用0补充,
                    一个负数如果无符号右移,肯定会变成正数
            ~ 按位取反
            以下是两个操作数:
            & 按位与
            | 按位或
            ^ 按位异或
            
            总结:
                - 按位异或运算的两个简单应用
                    - 不适用第三方变量即可交换两个变量的值
                        int a=10;
                        int b=20;
                        System.out.println("交换前:a="+a+",b="+b)
                        a=a^b; //a是保存a,b异或的结果
                        b=a^b;
                        a=a^b;
                        System.out.println("交换后:a="+a+",b="+b)

                    - 简单加密
                        int money=200;
                        int key=10086;
                        int res=money ^ key
                        System.out.println("密文是:"+res);
                        
                        res = res^key;
                        System.out.println("铭文师:"+res);
                        
                - 左移、右移快捷计算
                    - 假设操作位数为int型,移动位数为x,若x未超过32为,左移n位,相当于乘以2
                    的n次方,右移相当于除以2的n你次方;
                        若超过32位,那么他实际移动的位置是x%32
                        如:
                            2 << 34  等价于 2 << 2   2*(2*2)
                            2 >> 33  等价于 2 >> 1   2/2
                            3 >> 32  等价于 3 >> 0   没移动,仍然是3
        
        - 三元运算符
            (条件表达式)?表达式1:表达式2;
                条件表达式为true时,整体取表达式1的值
            - 使用三元运算符取三个数中的最大值
                max = (a>b)?((a>c)?a:c):((b>c)?b:c);
                System.out.println(max);
            - 
                System.out.println(2>1?2:1.0); //2.0 两个表达式类型不同时,都转换成可以自动转换的类型
                System.out.println(2>1?2:true);//2 此处两个值都转换成共同的父类型:object
            
View Code

 

java基础学习

原文:https://www.cnblogs.com/di2wu/p/10393674.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!