C#&java重学笔记(变量与操作符)
声明:自用参看读物
C#部分
1.C#中的byte和sbyte并不是二进制的比特,而是无符号 和 有符号的 8位整数。
2.decimal和float double都用来表示小数,前者用e的10的几次方表述,是128位的浮点数,后二者用e的2的几次方表述,分别是32位和64位。decimal的精度更高些,范围更大!主要应用在金融领域计算钱用。
3.C#中的bool和string不支持隐式转换。所以和一些脚本语言相比,null 0 不等于false!而如果不用toString方法,数字和字符串不能判等!
4.C#在显示类型转换时,如果高位向低位进行转换造成溢出,那么会有两个有趣的方法checked和unchecked去控制这些,如果使用check(显示转换),会报告异常,否则会抹掉高位进行牺牲转换而不提示。(在VS2010生成中,右键项目属性,点右下角高级,可以设置是否自动检查上下溢出,开启后,除非使用unchecked,否则全部检查,出错抛出异常);
5.强制类型转换的(string)和对象的toString()方法是不同的,前者只是单纯的试图将对象放入一个字符串‘容器’中,而后者是一个专业转换字符串的方法。
6.C#的数组是一个很严格的数据类型,数组定义了规格以后就不能更改。不像JavaScript那么随意。禁忌如下:
//不得设定长度后让数组为空
int[] arr=new int[]{};
//不得声明数组后用索引赋值
int[] arr;
arr[]=;
//不得声明数组长度后超长度赋值
int[] arr=new int[]{,};
arr[]=;
//不能用变量作为数组长度定义
int k=;//const int k=3
int[] arr=new int[k]{,,};
//数组声明不得出现长度
int[] arr={,};
//数组声明定义长度后不得小于数组长度定义
int[] arr=new int[]{};
//正确定义数组方法
int[] arr=new int[]{,,...};
int[] arr={,,...};
int[] arr=new int[]{,};
int[] arr=new int[]; arr[0]=1;arr[1]=2;
int[] arr;
arr=new int[]{,,...}; 或 arr={1,2,3....}
java部分
1.java没有结构体
2.java中没有无符号整形这种数据类型,更没有decimal类型。只有4类8种:Boolean byte short char int long float double;
3.java和c#相同,byte、short、char类型相加之后,结果会自动转换为Int类型,所以byte c=1; byte a=c+2;会导致错误。
4.区别于C#的is ,java使用instancof关键字判断实例是否为某类的实例。而C#没有instanceof关键字。
6.java和JavaScript中的二元运算符有>>>无符号右移运算符,比如 -22>>1 是-11,而-22>>>1就成了2147483637。 没有<<<运算符,因为左移低位补零没意义,因为<<本身就是左移低位补零。
7.java中类似C# foreach的方法是for in,和JavaScript是一样的。准确的说 JavaScript是像java学的。
8.java中没有string这种格式,想用字符串,只有String这种
9.java中默认小数是double的,如果声明float a=3.4会报错,应该 float a=(float)3.4 或者 float a=3.4f;
C#&java重学笔记(变量与操作符)的更多相关文章
- C#&java重学笔记(面向对象)
C#部分 1.C#有一个internal关键字,指字段可以同一个程序集中访问,出了程序集不行.还有一个protected internal(没有先后之分)修饰词,指只能在同一个程序集中的子类访问 2. ...
- C#&Java重学笔记(集合比较和转换)
C#部分: 1.C#中集合有三种,数组类,ArrayList,和字典键值对类,一般也可以自定义集合,但是自定义集合的类型也只有这三类. 2.自定义集合实现三类集合的方法:前两者需要继承Collecti ...
- C#&java重学笔记(函数)
C#部分 1.写在函数定义的()中的关键字: a.params关键字:用来满足函数的参数为数组时,而数组的长度不固定的情况.且该关键字只能用来修饰数组型参数.这样一修饰,就达成了类似JavaScri ...
- C#&java重学笔记(泛型)
C#部分: 1.泛型的出现主要用于解决类.接口.委托.方法的通用性,通过定义泛型类.接口.委托.方法,可以让不同类型的数据使用相同运算规则处理数据,方便了开发. 2.利用System.Nullable ...
- Java入门基础(变量、操作符与表达式)
Java入门基础 1. 第一个程序 2.变量(命名.运算.整数/小数/字符串.布尔类型) 3.操作符与表达式(算术/逻辑/关系/赋值/自增/类型转换操作符) HelloWorld! public cl ...
- 12天,这本《重学Java设计模式》PDF书籍下载量9k,新增粉丝1400人,Github上全球推荐榜!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言
- Java集合类简单总结(重学)
java集合类简介(重学) 一.Collection(集合).Map接口两者应该是平行关系吧. 1.Map介绍 Map是以键值(key-value)对来存放的,2个值.通过key来找到value(例: ...
- 《Visual C# 从入门到精通》第一章使用变量、操作符和表达式——读书笔记
前言: 这个笔记是我个人总结,主要是熟练自己查看<Visual C# 从入门到精通>(第8版)这本书时,懵然起总结的想法,只是总结一些知识点,在工作项目会用得上,但是对毫无C#语言基础的, ...
- Java学习笔记十五:Java中的成员变量和局部变量
Java中的成员变量和局部变量 一:成员变量: 成员变量在类中定义,用来描述对象将要有什么 成员变量可以被本类的方法使用,也可以被其他类的方法使用,成员变量的作用域在整个类内部都是可见的 二:局部变量 ...
随机推荐
- Python多版本安装 Python2.7和Python3.5
声明:本文仅仅在win8.1测试通过! 1.下载 Python2.7,3.5 2.依次安装Python27(c:\Python27) Python35(c:\Python35) 3.c:\Pytho ...
- oracle 11g 添加控制文件
OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...
- Python3.x List方法集合
Python中的一个内置的基础类型叫List,类比于OC中的Array..他是有序的,那么下面写一些基础的方法,以备需要时候查阅: 1>获取List的长度 len(List) 2> 索引访 ...
- 用Swift重写公司OC项目(Day2)--创建OC与Swift的桥接文件,进而调用OC类库
昨天把项目中的图标以及启动转场图片弄好了,那么今天,我们可以开始慢慢进入到程序的编写当中了. 由于swift较新,所以类库还不够完善,但是不用担心,苹果早就出了解决方案,那就是使用桥接文件,通过桥接文 ...
- shell 简介
shell 简介 shell既是一种命令语言,也是一种程序设计语言.作为命令语言,它交互式地解析和执行用户输入的命令:作为程序设计语言,他定义了各种变量和参数,并提供了许多的高级语言才具有的控制结构, ...
- C++ STL中Map的按Key排序和按Value排序
map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value.假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区 分),我们用map来进 ...
- maven安装报错
今天在安装maven时安照说明配置环境变量,通过命令检查: mvn -v 竟然出现以下错误,很郁闷的是我明明配置了JAVA_HOME,并且别的依赖java的东西都能用,通过java -version也 ...
- Java学习之IO流总结
---恢复内容开始--- 流是用来读写数据的,java有一个类叫File,它封装的是文件的文件名,只是内存里面的一个对象,真正的文件是在硬盘上的一块区间,在这个文件里面存放着各种各样的数据,我们想读文 ...
- strlen和mb_strlen区别
转自:http://blog.sina.com.cn/s/blog_5f0d5bd90100mzcl.html <?php//测试时文件的编码方式要是UTF8$str='中文a字1符';echo ...
- 【Binary Tree Zigzag Level Order Traversal】cpp
题目: Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from lef ...