一、基础语法学习
-------------------------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
原文:https://www.cnblogs.com/di2wu/p/10393674.html