下列表达式哪些是合法的

a)  short s = 98;

合法,编译器会判断右边的值是否在short范围,然后赋值给s    。

例如:short a = 1;

  (1) a = a + 1;//出错,a+1会转为int类型

  (2) a += 1;//不出错,
b)  String s = ‘Hello World’;

不合法,双引号  。
c)  char c = 17;

合法,赋值时整形自动会变为字符   。 
d)  int x = ‘\ucafe’;

合法,字符自动提升为整形。
e)  Object o = new int[0];

合法,java的数组也是一个对象。

f)  int[] a = {1, 2, 3};

合法,直接赋值数组的格式正确。

整理:参考博客 http://m.blog.csdn.net/article/details?id=51464468

1、Java中默认声明的小数都是double的,所以需要显式的声明float的时候需要加f如(1.0f)或者做个显式转换(float)1.0

  

2、直接写的整数默认是int型的,所以如果是很大的常数或者需要声明long的时候同样需要显式转换或者加L

  

3、数组是对象,可以通过如下方法判断对象是否是数组类型

  o.getClass().isArray()

时间: 2024-10-19 11:35:53

下列表达式哪些是合法的的相关文章

表达式的副作用解释【引用】

C++语言中的表达式可分为算术表达式,关系表达式和逻辑表达式等多种类型,但从表达式中变量所起的作用角度来看可分为两类:有副作用的表达式和无副作用的表达式. 1 有关表达式的副作用的概念一般说计算一个表达式的值需要引用一些变量,在表达式求值过程中,需要提取这些变量的值,但并不改变这些变量的值,这样的表达式称为无副作用的表达式. 从传统意义上讲,表达式的作用就是计算,它除了产生一个计算结果外,不应该改变参与计算过程的任何变量的值或产生其它的效应.换句话说,传统意义上的表达 式是不应该有副作用的.因此

java8之lambda表达式(变量作用域)

通常,我们希望能够在lambda表达式的闭合方法或类中访问其他的变量,例如: package java8test; public class T1 {     public static void main(String[] args) {         repeatMessage("Hello", 20);     }     public static void repeatMessage(String text,int count){         Runnable r = 

运算符和表达式(类型转换)

和其他程序设计语言一样,C语言中表示运算的符号称为运算符.运算符是告诉编译程序执行特定算术或逻辑操作的符号,运算的对象称为操作数. 对一个操作数进行运算的运算符称为单目运算符,对两个操作数进行运算的运算符称为双目运算符,三目运算符对三个操作数进行运算.用运算符和括号可以将操作数连接起来组成表达式. C语言提供了40多个运算符,其中一部分跟其他高级语言相同(例如"+"."?"."*"等运算符),另外的与汇编语言类似,对计算机的底层硬件(如指定的物理

网易2017春招笔试真题编程题集合(8)——奇怪的表达式求值

常规的表达式求值,我们都会根据计算的优先级来计算.比如*/的优先级就高于+-.但是小易所生活的世界的表达式规则很简单,从左往右依次计算即可,而且小易所在的世界没有除法,意味着表达式中没有/,只有(+, - 和 *).现在给出一个表达式,需要你帮忙计算出小易所在的世界这个表达式的值为多少 输入描述: 输入为一行字符串,即一个表达式.其中运算符只有-,+,*.参与计算的数字只有0~9. 保证表达式都是合法的,排列规则如样例所示. 输出描述: 输出一个数,即表达式的值 输入例子: 3+5*7 输出例子

中缀表达式转后缀表达式c语言实现

1.运行环境:VS2015/Win7 2.头文件: stack.h 1 typedef char ElementType; 2 /* START: */ 3 #ifndef _Stack_h 4 #define _Stack_h 5 6 struct StkNode; 7 typedef struct StkNode *PtrStk; 8 typedef PtrStk Stack; 9 10 int IsEmpty(Stack S); 11 Stack CreateStack(void); 12

奇怪的表达式求值 (java实现)

题目参考:http://blog.csdn.net/fuxuemingzhu/article/details/68484749 问题描述; 题目描述: 常规的表达式求值,我们都会根据计算的优先级来计算.比如*/的优先级就高于+-.但是小易所生活的世界的表达式规则很简单,从左往右依次计算即可,而且小易所在的世界没有除法,意味着表达式中没有/,只有(+, - 和 *).现在给出一个表达式,需要你帮忙计算出小易所在的世界这个表达式的值为多少  输入: 输入为一行字符串,即一个表达式.其中运算符只有-,

C++实现对数学基本运算表达式的解析

代码地址如下:<br>http://www.demodashi.com/demo/11078.html 前段时间在LeetCode上刷题,遇到了很多涉及对字符串进行解析的题目.可能是出于这个原因,最近迷恋上了字符串的解析问题.数学基本运算表达式的解析就涉及这类问题.所谓数学基本运算表达式的解析就是指给定一个表达式字符串,如1 + 1,3 * 9,对这个字符串进行解析,从而得到这个表达式的运算结果.(数学基本运算表达式也就是只用加减乘除进行计算的数学表达式) 其实站在我的角度来看,我觉得对数学基

我要翻译《Think Python》- 004 第二章 变量, 表达式和语句

PDF源文件地址 :  http://www.greenteapress.com/thinkpython/thinkpython.pdf [自述:这一章内容不多,但是由于时间关系,翻译完成这一章也花了我一周的时间,跟我预想的进度相比已经落后了,得加油了,要不然翻译完整本书就要到猴年马月了.目前离翻译完成还有17章!!!] 第二章 变量, 表达式和语法 2.1 值和类型 值是程序工作的基本要素,如字符串“Hello,World!”或数字1.2等等. 这些值属于不同类型:2是一个整数,而“Hello

PHP 实现字符串表达式计算

什么是字符串表达式?即,将我们常见的表达式文本写到了字符串中,如:"$age >= 20",$age 的值是动态的整型变量. 什么是字符串表达式计算?即,我们需要一段程序来执行动态的表达式,如给定一个含表达式的字符串变量并计算其结果,而表达式字符串是动态的,比如为客户A执行的表达式是 $orderCount >= 10,而为客户B执行的表达式是 $orderTotal >= 1000. 场景在哪儿?同一份程序具有完全通用性,但差异就其中一个表达式而已,那么我们需要将其