赋值语句

Java泛型 通配符详解

半城伤御伤魂 提交于 2019-12-06 07:04:51
文章目录 用法简介 数组协变 `<? extends 类型>`获得泛型类的“协变” `<? extends 类型>`与`<? super 类型>` JDK实际例子 通配符与泛型方法的类型推断 泛型方法和泛型类中只是使用了类型参数的方法 带通配符的引用之间赋值必须相容 总结 用法简介 通配符 ? 后只允许出现一个边界。 通配符只允许出现在引用中(普通变量引用、形参),一般是用作 <? extends 具体类型> 或者 <? super 具体类型> 。相对地,比如通配符不允许出现在泛型定义中(泛型类、泛型接口、泛型方法的 < > 里), class one<? extends Integer> {} 这样是不允许的,类定义时继承泛型类时的 < > 里也不可以出现。在泛型类或泛型方法的 { } 里还有泛型方法的形参上,配合占位符,甚至可以使用 ? extends T 或者 ? super T 这种形式来用作引用。 在new泛型类的时候也不可以使用通配符,比如 new ArrayList<?>() 。泛型方法的显式类型说明也不可以使用通配符。 数组协变 具体讲通配符之前,有必要先讲一下数组协变。数组协变可以理解为多态,即子类对象数组可以向上转型为父类对象数组的引用。由于java里的数组在初始化后一定会记住元素的类型,虽然数组协变会带来一些问题(下例就会演示),但有了

go语言基本运算符

爱⌒轻易说出口 提交于 2019-12-06 05:45:30
Go语言基础之运算符 运算符用于在程序运行时执行数学或逻辑运算。 运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算数运算符 运算符 描述 + 相加 - 相减 * 相乘 / 相除 % 求余 注意: ++ (自增)和 -- (自减)在Go语言中是单独的语句,并不是运算符。 关系运算符 运算符 描述 == 检查两个值是否相等,如果相等返回 True 否则返回 False。 != 检查两个值是否不相等,如果不相等返回 True 否则返回 False。 > 检查左边值是否大于右边值,如果是返回 True 否则返回 False。 >= 检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。 < 检查左边值是否小于右边值,如果是返回 True 否则返回 False。 <= 检查左边值是否小于等于右边值,如果是返回 True 否则返回 False。 逻辑运算符 运算符 描述 && 逻辑 AND 运算符。 如果两边的操作数都是 True,则为 True,否则为 False。 || 逻辑 OR 运算符。 如果两边的操作数有一个 True,则为 True,否则为 False。 ! 逻辑 NOT 运算符。 如果条件为 True,则为 False,否则为 True。 位运算符 位运算符对整数在内存中的二进制位进行操作。 运算符 描述 &

python运算符

吃可爱长大的小学妹 提交于 2019-12-06 02:20:35
一、算数运算符 1、加法运算符 + print(5 + 3) # + 还可以用作字符串的连接运算符 print('Hello' + 'World') 输出结果: 8 HelloWorld 2、减法运算符 - print(5 - 3) # - 还可以用作求负的运算符 x = 5 print(-x) 输出结果: 2 -5 3、乘法运算符 * print(5 * 3) # * 还可以用作字符串连接运算符,表示 n 个字符串连接 s = 'xyz ' print(s * 5) 输出结果: 15 xyz xyz xyz xyz xyz 4、除法运算符 / 和 //   / 表示普通除法,即除不尽时,会产生小数部分;而 // 表示整除,即结果只有整数部分,小数部分将会被舍弃。不允许使用 0 作为除数,否则将会引发 ZeroDivisionError 错误。 a = 15.3 b = 4.2 c1 = a / b c2 = a // b print(c1, type(c1)) print(c2, type(c2)) 输出结果: 3.642857142857143 <class 'float'> 3.0 <class 'float'> 5、求余运算符 % print(5 % 3) print(5.2 % 3.1) print(-5.2 % -3.1) print(5.2 % -1.5) print

Java枚举类型(enum)简介

久未见 提交于 2019-12-06 02:17:25
该示例是在百度上搜到的: public class TestEnum{ /*最普通的枚举*/ public enum ColorSelect{ red, green, yellow, blue; } /* 枚举也可以象一般的类一样添做加方法和属性,你可以为它添加静态和非静态的属性或方法,这跟类的使用是一样的 */ public enum Season { // 枚举列表必须写在最前面,否则编译出错 winter, spring, summer, fall; private final static String location = "Phoenix"; public static Season getBest() { if (location.equals("Phoenix")) return winter; else return summer; } } /*还可以有构造方法*/ public enum Temp { /*通过括号赋值,而且必须有对应的带参构造器,否则编译出错 * 赋值必须是都赋值或都不赋值,不能一部分赋值一部分不赋值 * 如果不赋值则不能写构造器,赋值编译也出错*/ absoluteZero(-459), freezing(32),boiling(212), paperBurns(451); private final int value; public

JS的基础语法

孤街浪徒 提交于 2019-12-06 00:07:37
整理了一下JS的基础语法,这里做下记录。 1 <!--Js的三大模块:ECMAScript(基本语法)、DOM(Document Object Model:文档对象模型,用于操作页面元素)、BOM(Browser Object Model:浏览器对象模型,用于操作浏览器)--> 2 <html> 3 <head> 4 <meta charset="utf-8"> <!--设置html界面采用utf-8字符集--> 5 <title>js的基本语法(ECMAScript)</title> 6 7 <!--内部JavaScript--> 8 <script type="text/javascript"> 9 /*js中变量类型有:Number(数字类型)、String(字符串类型)、Boolean(布尔类型)、Null(空类型)、Undefined(未赋值)、Object(对象)*/ 10 //数字类型 11 var num; 12 num = 0; //可以先声明一个变量,后赋值 13 var num1,num2,num3; 14 num1=100,num2=200,num3=300; //也可以一次性声明多个变量,然后赋值 15 var num4=400,num5=400,num6=400; //还可以一次性声明多个变量,并同时赋值 16 alert(num); /*alert

java.lang.IllegalArgumentException: A null value cannot be assigned to a primitive type

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-05 23:28:07
今天做项目测试接口,查询数据时出现以下错误,记录一下。 查询语句和错误信息: 实体类属性 原因是 由于字段 total和receive 在实体类中使用的是 int类型,但是数据库中查询出来的数据为null ,赋值的时候是不能把null 赋值给Java 基础类型的。 这里就有一个Java 的基础知识点:Java 基础类型不能为null。 解决办法:把实体映射的类型改为包装类型就OK。 来源: https://www.cnblogs.com/rong0912/p/11950340.html

2.6赋值语句和赋值表达式

瘦欲@ 提交于 2019-12-05 20:19:26
要点提示: 赋值语句将一个值指定给一个变量。在Java中赋值语句可以作为一个表达式。 表达式   表示涉及值、变量和操作符的一个运算,它们在一起计算出一个新值。 注意:   在数学运算中,x=x*2+1表示一个等式,但是在Java中x=x*2+1,是一个赋值语句,它计算x*2+1,并将结果赋值给x。 来源: https://www.cnblogs.com/cglib/p/11945078.html

C语言I博客作业10

穿精又带淫゛_ 提交于 2019-12-05 20:17:18
问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 C语言I博客作业10 我在这个课程的目标是 熟练掌握C语言 这个作业在哪个具体方面帮助我实现目标 已经可以熟练掌握字符型的输入和输出 参考文献 Markdown基本语法 一.PTA实验作业 1. 編程打印空心字符菱形 题目内容描述:本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。 输入格式: 输入在一行中给出起始字母(范围为英文大写字母A-G)和菱形的高度(为不超过10的奇数)。 输出格式: 输出空心字符菱形。 输入样例: B 5 输出样例: B C C D D C C B (1)数据处理 数据表达: 用了整形变量h,k,k1,v,v1=1,i,和字符型变量op op和h是用户传入的字符和高度 k,k1用来控制每行首字母左边的空格数 v,v1用来控制两个字母间的空格数 i用来控制循环次数 数据处理:伪代码 定义整型变量h,k,k1,v,v1=1,i; h是用户传入的高度,k,k1用来控制每行首字母左边的空格数,v,v1用来控制两个字母间的空格数,i用来控制循环次数 定义字符型变量op ,op是用户传入的字符

PL真有意思(五):数据类型

喜你入骨 提交于 2019-12-05 20:13:15
前言 现在大多数程序设计语言中都有表达式和/或对象的类型概念。类型起着两种主要作用: 为许多操作提供了隐含的上下文信息,使程序员可以在许多情况下不必显示的描述这种上下文。比如int类型的两个对象相加就是整数相加、两个字符串类型的对象相加就是拼接字符串、在Java和C#中new object()隐含在背后的就是要分配内存返回对象的引用等等。 类型描述了其对象上一些合法的可以执行的操作集合。类型系统将不允许程序员去做一个字符和一个记录的加法。编译器可以使用这个合法的集合进行错误检查,好的类型系统能够在实践中捕获很多错误 类型系统 从编译方面的知识我们可以知道,计算机硬件可以按多种不同的方式去解释寄存器里的一组二进制位。处理器的不同功能单元可能把一组二进制位解释为指令、地址、字符、各种长度的整数或者浮点数等。当然,二进制位本身是无类型的,对存储器的哪些位置应该如何解释,大部分硬件也无任何保留信息。汇编语言由于仅仅是对一些二进制指令的“助记符号”翻译,它也是这种无类型情况。高级语言中则总是关联值与其类型,需要这种关联的一些原因和用途就如前面说到的上下文信息和错误检测。 一般来说,一个类型系统包含一种定义类型并将它们与特定的语言结构关联的机制;以及一些关于类型等价、类型相容、类型推理的规则。 必须具有类型的结构就是那些可以有值的,或者可以引用具有值得对象的结构

Python基础

我怕爱的太早我们不能终老 提交于 2019-12-05 20:01:07
Python基础语法 (1)操作符 + - * / // % ** 加、减、乘、除和取余都是标准操作符。其中单斜杠用作传统除法,双斜杠用作浮点除法(对结果进行四舍五入)。双星号(**)表示数学中幂。 Python的标准操作符: < <= > >= == != <> 其中,!=和<>表示“不等于”比较操作符,分别是C风格和ABC/Pascal风格。 Python的逻辑操作符: and or not 其中,and、or、not分别表示与、或、非 Python赋值运算符: += -= *= /= %= **= //= (2)变量和赋值 Python中变量名规则与其他大多数高级语言一样,都是受C语言影响,由字母、数字、下划线组成,其中,数字不能作为首字母。同时,变量名大小写敏感,也就是说变量“case”与“Case”是两个不同的变量。由于Python是动态类型语言,不需要预先声明变量的类型,变量类型与值在赋值的那一刻就已经被初始化了。如图2所示,其中五个变量赋值分别表示:整数赋值、浮点型赋值、字符串赋值、对一个整数加1操作赋值、浮点乘法赋值。 其中,可以用内置函数type()用来查看变量的类型。 (3) Python保留字 下面的列表显示了在Python中的保留字。保留字是语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。 (4)程序输入和raw_input()内建函数