`

Language Basics:语言基础

 
阅读更多

Java包含多种变量类型:
Instance Variables (Non-Static Fields)(实例变量):是每个对象特有的,可以用来区分各个实例
Class Variables (Static Fields)(类变量):多个对象间将共享这个变量,他只有一个存在,如果加了final表示这个变量不可修改
Local Variables(局部变量):通常是在方法内定义,只是所在的方法内才能访问
Parameters(参数):常用于方法,构造方法,或异常捕获的时候


关于一些称谓:说到字段,通常指前两个,说变量,通常指所有四种,
而成员,通常是说所有的字段,方法,和一些内嵌成员(如内部类)


命名规则:大小写敏感,长度不限,以字母,_,$开头的Unicode字符,不能有空格,但规范做法是字母开头
后面的字符也可以包含数字,但起名最好有意义,宁可长也不要用难懂的缩写,另外不要使用关键字和保留字
规范写法是首字母小写,以后的单词头字母大写,如果是常量就这样:static final int NUM_GEARS = 6
\u可以用于java代码的任何地方,代表具体某个字符,而不只是在''和""里


java是statically-typed(静态类型)语言,也就是变量使用前必须声明(八大原始类型)
原始数据类型的值之间,并没任何关系,也不共享什么,他们并不是对象
int在JDK8以后可以表示正整数了,也就是0~2^32-1,Integer.compareUnsigned, divideUnsigned
同样还有long
float,double是不精确的,精确地要用 java.math.BigDecimal
char的范围:'\u0000'到'\uffff',16位的Unicode字符
"sdfdsf"将立即生成一个String对象,并且是不可变得,String并不是原始类型(不过那不重要,你可以按原始类型来理解)


已经声明的变量都会由编译器赋予一个确定的默认初始值,char是'\u0000',String是null
但局部变量不会,访问前请确保已经赋值,否则会编译错误


literal(字面量)是指无需计算即知道确定值的一个东西
比如给原始类型赋值时,=后面的那个东西
可以用123L,234.45D,234.45F,0x2E,234.5e32,null,'w',"sdfds"等
在JDK7以后可以有二进制字面量了,0b10101001

null可以赋给任何对象,但不能是原始类型
还有个特殊的class字面量,如String.class,前面只能加某种类型,返回Class的一个对象,代表这种类型本身


在JDK7以后,数字字面量中可以包含任意的_,增强可读性,但不能放在首位和末尾,小数点附近也不行,特殊符号如L,D附近也不行

long creditCardNumber = 1234_5678_9012_3456L;
long bytes = 0b11010010_01101001_10010100_10010010;


array(数组)的长度是固定的,里面存放的都是同一类型,而数组也不是原始类型
数组的元素通过下标(序号)访问
数组声明有两种形式

int[] anArray;

float anArrayOfFloats[]//不规范


建立数组可以

= new int[10];

或直接赋值

= {
    100, 200, 300,
    400, 500, 600,
    700, 800, 900, 1000
};

 
java的多重数组跟c++的不同在于,每一个部分都是一个数组,而且内部长度可以不一样
.lenth代表数组的长度

String[][] names = {
            {"Mr. ", "Mrs. ", "Ms. "},
            {"Smith", "Jones"}
        };

 
另外有两个API可用

System.arraycopy(copyFrom, 2, copyTo, 0, 7);//7为复制总长[2,2+7)
copyTo = Arrays.copyOfRange(copyFrom, 2, 9);//java.util.Arrays拷贝[2,9)
Arrays.binarySearch()
Arrays.equals()
Arrays.fill()
Arrays.sort()
Arrays.parallelSort()//是JDK8新加的,多处理器排序

 
Operators(操作符)可以对多个operands(操作数)进行特定操作并返回某种结果
操作符是有优先级的,如果不能确定就自己加括号
=       Simple assignment operator
+       Additive operator (also used
        for String concatenation)
-       Subtraction operator
*       Multiplication operator
/       Division operator
%       Remainder operator
+       Unary plus operator; indicates
        positive value (numbers are
        positive without this, however)
-       Unary minus operator; negates
        an expression
++      Increment operator; increments
        a value by 1
--      Decrement operator; decrements
        a value by 1
!       Logical complement operator;
        inverts the value of a boolean
==      Equal to
!=      Not equal to
>       Greater than
>=      Greater than or equal to
<       Less than
<=      Less than or equal to
&&      Conditional-AND
||      Conditional-OR
?:      Ternary (shorthand for
        if-then-else statement)
instanceof      Compares an object to
                a specified type
~       Unary bitwise complement
<<      Signed left shift
>>      Signed right shift
>>>     Unsigned right shift
&       Bitwise AND
^       Bitwise exclusive OR
|       Bitwise inclusive OR


switch可用于byte, short, char, and int的判断,没有long
也可用于enumerated types(枚举),和相应的包装类
在JDK7以后可以用String,但要先判断是否为null
 
break可以加标签的,指定要跳出的循环体,continue同理
并不是转到这个标签,而是跳出标签下面最近的那个大括号,继续执行

search:
        for (i = 0; i
            break search;

 
 

分享到:
评论

相关推荐

    language-basics-02:语言基础作业#2

    问题陈述在这个问题上,我们使用24小时制。 也就是说,每天的第一秒是00:00:00,每天的最后一秒是23:59:59。 您正在访问在线论坛。 每当有不到严格在24小时之前发布的帖子时,论坛就会显示一条易于阅读的消息,说明...

    html-basics:HTML基础

    HTML(HyperText Markup Language)是构建网页的基础语言,它用于定义网页的内容结构和样式。HTML基础知识涵盖了许多方面,包括元素、属性、标签、链接、图像、表格、表单以及响应式设计等。以下是对这些核心概念的...

    language-basics-01:语言基础作业#1

    问题陈述将为您提供String方程,其中包含形式为“ A * B = C”的方程,其中A,B和C是没有前导零的正整数。 等式中缺少一位数字。 确定并返回正确的数字。 如果无法确定缺少的数字(即,没有解决方案或有多个解决方案...

    language-basics-03:语言基础作业#3

    问题陈述 您最喜欢的当地餐厅已经赶上了健康食品的潮流,并已开始发布所有最受欢迎菜单的基本营养信息。 这是绝佳的时机,因为您的医生最近为您和您的几个朋友推荐了各种饮食计划。 系统会为您提供int []蛋白,int ...

    frontend-basics:前端基础知识的开发环境

    在这个压缩包中,我们主要关注HTML(HyperText Markup Language),它是网页内容的基础结构语言。 HTML允许开发者通过标记式语法来创建和组织网页内容,如段落、标题、图片和链接。以下是一些关于HTML的重要知识点...

    nim-basics:Nim基础教程的源文件

    Nim的基础教程旨在帮助初学者理解和掌握这种语言,以便进行更高级的开发工作。以下是一些关于Nim语言的基础知识要点: 1. **语法与结构**: Nim的语法简洁且易于理解,类似于Python,但它允许更多的灵活性,比如在...

    新编简明英语语言学教程中文版终稿.pdf

    本资源 İs a comprehensive guide to linguistics, covering the basics of linguistics, language definitions, language acquisition, language teaching, and language applications. 根据资源的内容,以下是...

    Cheat Sheet : C# Language Basics

    ### C#语言基础速查表 #### 工作与数字 C# 提供了多种基本数据类型用于处理数值。在 C# 中,`int` 是一种常用的整型数据类型,可以用来存储整数。 ##### 示例代码 ```csharp int i = 0; ``` 在实际开发中,我们...

    CSharp_Basics:在C#基础上进行实践

    "CSharp_Basics"项目显然旨在帮助初学者和有经验的开发者巩固他们在C#基础知识上的技能。在这个实践导向的学习资源中,你可能会找到一系列关于C#语言特性和编程实践的教程和示例代码。 1. **基础语法**: - 变量...

    Web-Basics:Web开发的基本入门部分

    在Web开发领域,HTML(HyperText Markup Language)是构建网页内容的基础。它是Web开发的基石,用于描述网页的结构和意义。本教程“Web-Basics:Web开发的基本入门部分”将引导初学者步入Web开发的大门,理解并掌握...

    web-basics:我的网络基础学习

    HTML(HyperText Markup Language)是构建网页的核心语言,它是互联网上所有页面的基础。HTML5是其最新版本,提供了更多的功能和优化,增强了网页的交互性与兼容性。 【HTML基本结构】 一个基本的HTML文档由文档...

    C language :summarize the basics by mind map0:the first project

    在IT行业中,C语言是一种非常基础且重要的编程语言,它为其他高级语言提供了坚实的底层支持。本篇文章将通过思维导图的方式,结合Visual Studio,来总结C语言的基础知识,并指导如何进行首个项目。 首先,我们要...

    spring-boot-basics:Spring Boot基础

    9. **国际化的支持**:Spring Boot可以通过`message.properties`文件实现多语言支持,结合`Accept-Language`头进行切换。 10. **测试支持**:Spring Boot提供丰富的测试工具和注解,如`@SpringBootTest`用于启动...

    L9 Verilog – Language basics_EC806Lecture8_

    在深入探讨“L9 Verilog – Language basics”这一主题之前,首先需要了解Verilog,这是一种硬件描述语言(HDL),广泛用于数字电子系统的建模和设计,特别是FPGA(现场可编程门阵列)的设计。EC806Lecture8针对的是...

    html-basics:html的练习代码

    HTML(HyperText Markup Language)是用于创建网页的标准标记语言,它是互联网的基础,让开发者能够构建结构化的内容并赋予其样式和交互性。本压缩包"html-basics:html的练习代码"提供了一些基础的HTML练习代码,...

    js_basics:适用于我的学生的Javascript基础

    "js_basics"这个压缩包文件显然旨在为ITEC 3860/3870课程的学生提供JavaScript的基础知识。这门课程可能涵盖从基本语法到实际应用的方方面面,帮助学生掌握网页编程的关键技能。 在JavaScript的学习中,首先要理解...

    40057GC11 - Introduction to Oracle9i:SQL Basics Tutorial

    本教程“40057GC11 - Introduction to Oracle9i:SQL Basics Tutorial”旨在为初学者提供SQL基础教程,帮助他们理解并掌握在Oracle9i环境下进行数据管理的基本概念和技能。 SQL(Structured Query Language)是用于...

    SQL_basics:使用PostgreSQL学习SQL时所有注释的存储库

    SQL,全称为Structured Query Language(结构化查询语言),是用于管理关系数据库的标准编程语言。它包括数据查询、数据操纵、数据定义和数据控制四大功能。SQL的主要任务包括创建和修改数据库结构、插入和更新数据...

    banyan-handson-C-Sharp-Basics:这是针对C-Sharp基础知识的

    【标题】"banyan-handson-C-Sharp-Basics"是一个关于C#基础学习的项目,旨在帮助初学者掌握这门编程语言的核心概念。C#(读作"C sharp")是由微软开发的一种面向对象的编程语言,广泛应用于Windows平台、Web应用、...

Global site tag (gtag.js) - Google Analytics