本文目录一览:
- java platform SE 8 怎么下载?
- Error:(282, 26) 警告: '' 用作标识符 (Java SE 8 之后的发行版中可能不支持使用 '' 作为标识符)
- 求 Java SE Development Kit8(jdk8)下载32/64位 8u144
- java se 8u65怎么配置
java platform SE 8 怎么下载?
到JAVA的官网,下载即可或者直接搜索也是可以下载java platform SE 8 的
Error:(282, 26) 警告: '' 用作标识符 (Java SE 8 之后的发行版中可能不支持使用 '' 作为标识符)
#operator not followed by macro argument name
#
运算符后无宏变元名。在宏定义中,#
用于标志一宏变元是一个串,因此,在#
后面必须要跟随一个宏变元名。'xxxxxxxx'not an argument
'xxxxxxxx'
不是函数参数。在原程序中将该表识符定义为一个函数,但他没有在函数表中出现。Ambiguous symbol 'xxxxxxxx'
二义性符号'xxxxxxxx'
。两个或两个以上结构的某一域名相同,但它们的遍移、类型不同,因此,在变量或表达式中用该域但未带结构名时,就会产生二义性。在这种情况下,需要修改域名,或在引用时加上结构名。Argument # missing name
参数#
名丢失。参数名已脱离用于定义函数的函数原型。C语言规定,如果函数以原型定义,该函数必须包含所有的函数名。Argument list error
参数表语法错误。C语言规定,函数调用的各参数之间必须以逗号分隔,并以右括号结束,若源文件中含有一个其后不是逗号也不是右括号的参数,则会出现本错误。Array bounds missing
数组的界限符"]"
丢失。在源文件中定义了一个数组,但此数组没有以右方括号结束,则会出现本错误。Arraysize too large
数组长度太长。定义的数组太长,可用内存不够。Assembler statement too long
汇编语句太长。C语言规定,内部汇编语句最长不能超过480字节。Bad configuration file
配置文件不准确。TURBOC.CFG配置文件中包含不是合适命令行选择项的非注释文字。C语言规定,配置文件命令选择项必须以一短横线开始。Bad file name formart in include directive
包含指令中文件名格式不正确。包含文件名必须用双引号或尖括号括起来,否则将出现本错误。如果使用了宏,则产生的扩展文本也不正确。Bad ifndef directive syntax
ifdef
指令语法错误。#ifdef
必须以单个标识符作为该指令的体。Bad ifndef directive syntax
ifndef
指令语法错误。#ifndef
必须以单个标识符作为该指令的体。Bad undef directive syntax
undef
指令语法错误。#undef
必须以单个标识符作为该指令的体。Bad file size syntax
位字段长语法错误。一个位字段长必须是在1-16位的常量表达式。Call of non-function
调用未定义的函数。正被调用的函数未定义,通常是由于不正确的函数声明或函数名拼写错所造成。Cannot modify a const object
不能修改一个常量对象。对定义为常量的对象进行不合法的操作(如对常量进行赋值)会产生此错误。Case outside of switch
Case
出现在Switch
的外面。编译程序发现Case
语句在switch
的外面,通常是由于括号不匹配所造成。Case statement missing
Case
语句漏掉。Case
语句必须包含一个以冒号结束的常量表达式。可能的原因是丢了冒号或在冒号前多了别的符号。Cast syntax error
Cast
语法错误。可能在Cast
中包含了一些不正确的符号。Character constant too long
字符常量太长。Compound statement missing
复合语句漏掉。编译程序扫描到源文件末尾时,为发现结束大括号,通常是由于大括号不匹配造成。Conflicting type modifiers
类型修饰符冲突。对同一指针只能定义一种变址修饰符(如near
或far
);而对于同一函数也只能给出一种语言修饰符(如cdecl
、pascal
或interrupt
)。constant expression repuried
要求常量表达式。数组的大小必须是常量,本错误通常是由于#define
常量的拼写错误造成。could not find file 'xxxxxxxx'
找不到文件'xxxxxxxx'
。编译程序找不到命令行上给出的文件。declaration missing
说明漏掉“;”。在源文件中包含了一个struct
或union
域声明,但后面漏掉了分号(;
)。declaration needs type or storage class
说明必须给出类型或存储类。如以下说明是错误的:i,j;
。declaration syntax error
说明出现语法错误。在源文件中,某个说明丢失了某些符号或有多余的符号。default outside of switch
defaul
在switch
外出现。这个错误通常是由于括号不匹配造成。define directive needs an identifer
define
指令必须要一个标识符。#define
后面的第一个非空格符号必须是一个标识符,若编译程序发现一些其他字符,则出现本错。division by zero
除数为零。在源文件中的表达式中出现除数为零的情况。do statement must have while
do
语句中必须要有while
。do-while statement missing(、)、;
do-while
语句中漏掉"(、)、;
"。duplicate case
case
的情况不唯一。switch
语句中每个case
必须有一个唯一的常量表达式。enum synatx error
enum
域法出现错误。enum
说明的标识符表的格式不对。enumeration constant syntax error
枚举常量语法错误。赋给enum
类型变量的表达式值不是常量。error directive:xxxx
error
指令:xxxx
。源文件处理#error
指令时,显示该指令给出的信息。error writting output file
写输出文件出错。通常是由于磁盘空间不够造成。expression stntax
表达式语法错误。如:在表达式中连续出现两个操作符、括号不匹配或缺少括号、前一语句漏掉了分号等。extra parameter in call
调用时出现多余参数。在调用一函数时,实际的参数个数多于函数定义中的参数。extea parameter in call to xxxxxxxx
调用“xxxxxx
”函数时出现了多余的参数。其中该函数由原型定义。file name too long
文件名太长。#include
指令给出的文件名太长,编译程序无法处理。DOC下的文件名不能超过64个字符。for statement missing();
for
语句漏掉“();
”。function call missing)
函数调用缺少“)
”。function definition out of place
函数定义位置错误。函数定义不能出想在另一函数内。函数内的任何说明,只要以类似于带一个参数表的函数开始,就被认为是一个函数定义。function doesn't take a vatiable number of argument
函数不接受可变的参数个数。源文件中的某个函数内使用了va-start
宏,此函数不能接受可变数量的参数。goto statement missing lable
goto
语句缺少标号。在goto
关键字后必须要有一个标识符。if statement misslng()
if
语句缺少“()
”。illegal character (0xXX)
非法字符串(0xXX)
。编译程序发现输入文件中有非法字符,已十六进制打印该字符。illegal initialzation
非法初始化。初始化必须是常量表达式后一全局变量extern
或static
的地址减一常量。illegal octal digit
非法八进制数。编译程序发现在一个八进制常数包含了非八进制数字符号(如8或9)。illegal pointer subtraction
非法指针相减。这是由于试图以一个指针变量减去一个指针变量而造成的。illegal structre operation
非法结构操作。结构只能使用“.
”、取地址“&
”和赋值操作符“=
”,或作为函数的参数传递。当编译程序发现结构使用了其他操作符时出现本错误。illegal use of floating point
非法的浮点运算。浮点运算操作数不允许出现在移位、按位逻辑操作、条件(?:
)、间接(*
)以及其他一些操作符中。illegal use of point
非法使用指针。指针只能在加、减、赋值、比较、间接(*
)或尖头(->
)操作中使用。improper use of a typedef symbol
typedef
符号使用不当。源文件中使用了一个符号,符号变量应在一个表达式中出现。检查一下此符号的说明和可能的拼写错误。in-line assembly not allowed
不允许内部汇编语句。源文件中包含有直接插入的汇编语句,若在集成环境下进行编译,这出现本错误,必须使用TCC命令行来编译该文件。incompatible storage class
不相容的存储类。源文件的一个函数定义使用了extern
关键字,而只有static
(或根本没有存储类型)是允许的。incompatible type conversion
不相容的类型转换。源文件中试图把一种类型转换成另一种类型,但这两种是不相容的,如函数与非函数之间的转换、一种结构或数组与一种标准类型间转换、浮点数与指针间转换。incorrect command line argunent:xxxxx
不正确的命令参数:xxxxxxxx
。incorrect cinfiguration file argunent:xxxxx
不正确的文件参数:xxxxxx
。编译程序认为该配置文件是非法的,此时可检查一下前面的短横线(_
)。incorrect number format
不正确的数据格式。编译程序发现在十六进制数中出现十六进制小数点。incorrect use of default
default
的不正确使用。编译程序发现default
关键字后缺少分号。initializer syntax error
初始化语法错误。初始化过程中缺少或多了一操作符,括号不匹配,或其他一些不正常情况。invalid indrection
无效的间接运算。间接运算符(*
)要求非空指针作为操分量。invalid macro argument separator
无效的宏参数分隔符。在宏定义中,各参数必须用逗号分割。编译程序发现在参数名后面有其他非法字符。invalid pointer sddition
无效的指针相加。原程序中试图将两个指针相加。invalid use of arrow
箭头使用错。在箭头操作符(->
)后必须跟一标识符。invalid use of dot
点使用错。在店操作符(.
)后必须跟一标识符。lvalue required
请求赋值。赋值符操作的左边必须是一个地址表达式,包括数值变量、指针变量、结构引用域、间接指针或数组分量。macro argument syntax error
宏参数语法错误。宏定义中的参数必须是一个标识符。编译程序发现所需的参数不是标识符号的字符,则出现本错误。mxcro expansion too long
宏扩展太长。一个宏扩展不能多于4096个字符。当宏递归扩展自身时,常出现本错误。宏不能对自身进行扩展。may compile only one file when an output file name is given
给出的一个输出文件名时,可能只编译一个文件。在命令编译时,若使用-o
选择,则至于需一个输出文件名。此时,只编译第一个文件,其他文件被忽略。mismatch number of parameters in definition
定义中参数个数不匹配。定义中的参数和函数原型中提供的信息不匹配。misplaced break
break
位置错误。编译程序发现break
语句的switch
语句或循环结构外。misplaced continue
continue
位置错。编译成促发现continue
语句在循环结构外。misplsced decimal point
十进制小数点位置错。编译程序发现浮点常数的指数部分有一个十进制小数点。
求 Java SE Development Kit8(jdk8)下载32/64位 8u144
软件介绍:
jdk8
的全称为Java SE Development Kit8,是运行整个Java的核心,它内置一堆Java工具和Java基础的类库(rt.jar
)以及Java运行环境(Java Runtime Envirnment
),如果想要在电脑上运行Java程序就必须安装ava SE Development Kit,才能保证程序的正常使用。
所需工具:
点击下载 Java SE Development Kit8(jdk8) 8u144
jdk8环境变量配置教程
- 下载软件压缩包文件,点击你电脑系统向对应的程序
jdk-8u144-windows-x64.exe
(64位)或者jdk-8u144-windows-i586.exe
(32位)。 - 程序会自动安装JRE程序,选择目录即可。
- 直到
jdk8
下载安装完毕,点击“关闭”按钮即可,如下图所示: - 安装完JDK后配置环境变量,计算机→属性→高级系统设置→高级→环境变量。
- 系统变量→新建
JAVA_HOME
变量。 变量值填写jdk
的安装目录(本人是C:\Program Files\Java\jdk1.8.0_144
) - 系统变量→寻找
Path
变量→编辑。 在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
。 (注意原来Path
的变量值末尾有没有;
号,如果没有,先输入;
号再输入上面的代码) - 检验是否配置成功 运行cmd 输入
java -version
(java
和-version
之间有空格)若如图所示 显示版本信息 则说明安装和配置成功。
功能介绍
JDK的最重要命令行工具:
java
: 启动JVM执行class。javac
: Java编译器。jar
: Java打包工具。javadoc
: Java文档生成器。 这些命令行必须要非常非常熟悉,对于每个参数都要很精通才行。对于这些命令的学习,JDK Documentation上有详细的文档。 从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java(J2EE、J2SE以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。 Java语言恐怕是稳居网路应用程序语言的首选了,这都要归功于它高度的安全性以及跨平台的特性,几乎在目前所有的电脑平台上您都可以见得到Java的芳踪。过去很可能会有不少人抱怨Java虽然有著相当不错的跨平台以及安全防护等特性,但是它的执行速度远远不及C++等各种传统惯用的程序语言。
jdk8新特性
一、Lambda表达式
- Lambda表达式可以说是Java 8最大的卖点,她将函数式编程引入了Java。Lambda允许把函数作为一个方法的参数,或者把代码看成数据。
- 一个Lambda表达式可以由用逗号分隔的参数列表、
->
符号与函数体三部分表示。例如:Arrays.asList( "p", "k", "u","f", "o", "r","k").forEach( e -> System.out.println( e ) );
- 为了使现有函数更好的支持Lambda表达式,Java 8引入了函数式接口的概念。函数式接口就是只有一个方法的普通接口。
java.lang.Runnable
与java.util.concurrent.Callable
是函数式接口最典型的例子。为此,Java 8增加了一种特殊的注解@FunctionalInterface
。
二、接口的默认方法与静态方法
- 我们可以在接口中定义默认方法,使用
default
关键字,并提供默认的实现。所有实现这个接口的类都会接受默认方法的实现,除非子类提供的自己的实现。例如: - 我们还可以在接口中定义静态方法,使用
static
关键字,也可以提供实现。例如: - 接口的默认方法和静态方法的引入,其实可以认为引入了C++中抽象类的理念,以后我们再也不用在每个实现类中都写重复的代码了。
三、方法引用
通常与Lambda表达式联合使用,可以直接引用已有Java类或对象的方法。一般有四种不同的方法引用:
- 构造器引用。语法是
Class::new
,或者更一般的Class T ::new
,要求构造器方法是没有参数。 - 静态方法引用。语法是
Class::static_method
,要求接受一个Class
类型的参数。 - 特定类的任意对象方法引用。它的语法是
Class::method
。要求方法是没有参数的。 - 特定对象的方法引用,它的语法是
instance::method
。要求方法接受一个参数,与3不同的地方在于,3是在列表元素上分别调用方法,而4是在某个对象上调用方法,将列表元素作为参数传入。
四、重复注解
在Java 5中使用注解有一个限制,即相同的注解在同一位置只能声明一次。Java 8引入重复注解,这样相同的注解在同一地方也可以声明多次。重复注解机制本身需要用@Repeatable
注解。Java 8在编译器层做了优化,相同注解会以集合的方式保存,因此底层的原理并没有变化。
五、扩展注解的支持
Java 8扩展了注解的上下文,几乎可以为任何东西添加注解,包括局部变量、泛型类、父类与接口的实现,连方法的异常也能添加注解。
六、Optional
Java 8引入Optional
类来防止空指针异常,Optional
类最先是由Google的Guava项目引入的。Optional
类实际上是个容器:它可以保存类型T
的值,或者保存null
。使用Optional
类我们就不用显式进行空指针检查了。
七、Stream
Stream API是把真正的函数式编程风格引入到Java中。其实简单来说可以把Stream理解为MapReduce,当然Google的MapReduce的灵感也是来自函数式编程。她其实是一连串支持连续、并行聚集操作的元素。从语法上看,也很像linux的管道、或者链式编程,代码写起来简洁明了,非常酷帅!
八、Date/Time API (JSR 310)
Java 8新的Date-Time API (JSR 310)受Joda-Time的影响,提供了新的java.time
包,可以用来替代 java.util.Date
和java.util.Calendar
。一般会用到Clock
、LocaleDate
、LocalTime
、LocaleDateTime
、ZonedDateTime
、Duration
这些类,对于时间日期的改进还是非常不错的。
九、JavaScript引擎Nashorn
Nashorn允许在JVM上开发运行JavaScript应用,允许Java与JavaScript相互调用。
十、Base64
在Java 8中,Base64编码成为了Java类库的标准。Base64类同时还提供了对URL、MIME友好的编码器与解码器。
十一、除了这十大新特性之外,还有另外的一些新特性:
- 更好的类型推测机制:Java 8在类型推测方面有了很大的提高,这就使代码更整洁,不需要太多的强制类型转换了。
- 编译器优化:Java 8将方法的参数名加入了字节码中,这样在运行时通过反射就能获取到参数名,只需要在编译时使用
-parameters
参数。 - 并行(parallel)数组:支持对数组进行并行处理,主要是
parallelSort()
方法,它可以在多核机器上极大提高数组排序的速度。 - 并发(Concurrency):在新增Stream机制与Lambda的基础之上,加入了一些新方法来支持聚集操作。
- Nashorn引擎jjs:基于Nashorn引擎的命令行工具。它接受一些JavaScript源代码为参数,并且执行这些源代码。
- 类依赖分析器jdeps:可以显示Java类的包级别或类级别的依赖。
- JVM的PermGen空间被移除:取代它的是Metaspace(JEP 122)。
java se 8u65怎么配置
步骤如下:
- 从Oracle官网下载JDK8u65安装包,如:
jdk-8u65-windows-x86
版本。 - 安装包下载完成后,双击安装包进行安装,安装路径可以使用默认路径,这里改为
D:\Program Files\Java
。 - 安装完成后,还需要进行环境变量的配置,在系统环境变量的用户变量里面添加一个变量名为
JAVA_HOME
环境变量。 - 在
JAVA_HOME
的变量值处填写上JDK安装目录的bin
文件夹的路径,此处为D:\Program Files\Java\jdk1.8.0_65
。 - 再添加一个变量名为
Path
的变量,变量值填写为%JAVA_HOME%\bin;
。