双元教育实训(第一天)

双元教育

因为版本的问题,导致他的可能性不太一样

Java中的switch语句中的N不能为字符串    (错误)

C语言中数组的声明中,长度是否可以为变量     (错误)

变量复习

变量是内存中的存储单元,可以直接或间接的被程序访问。

变量的特性:变量类型、变量长度、变量名、变量的作用域

变量的类型

原始类型和引用类型

原始类型包括:数字型和布尔型两种

long、int、short、byte、char、float、double都是数字型;boolean是布尔型。

 

字符串不是基本数据类型

布尔型只能是true、false/不能是其他任何值,如0/1

在C语言中就可以,但是C语言没有布尔类型;

js可以,但js没有变量类型。

 

原始类型变量中存放的就是数据本身;引用类型变量中引入的是引用(地址),该引用指向一个堆中的对象。

public class Person{
    private int id=1;
    get/set
}
public show(Person a){
    a.id=10;
}

 

变量的长度

变量的长度受变量的类型的影响。原始类型的变量长度是受类型变化影响的;而引用类型的变量长度是固定的。

byte长度8位、short长度16位、int长度32位、long长度64位,以上四个类型是有符号整数。

char长度16位,是无符号整数,表示UTF-16的字符。

float长度32位、double长度64位,以上两个类型为满足IEEE754的浮点数。

变量的作用域

  • 静态变量,特性:同类多对象共享;一般变量名全大写;访问方式是类名.变量名;非线程安全

  • 实例变量(属性),特性:对象独享;首字母小写,之后驼峰;访问时需要先实例化所在对象;非线程安全;声明 不赋值有默认值。

  • 局部变量(方法参数),特性:方法内部使用;首字母小写,之后驼峰;线程安全;声明不赋值无默认值。

局部变量与成员变量区别

1,作用域不同

局部变量存放在栈内存中;成员变量作为对象的一部分存放在堆内存中。

2,初始化方式不同:如果不进行初始化,JVM会自动给成员变量一个初始值。整型为0,double为0.0。局部变量则不会自动初始化。

3,线程安全不同。局部变量是线程安全的;实例变量是非线程安全的。

基本数据类型变量与引用变量

基本数据类型变量中存放的是普通的数据
引用变量中存放的是某个对象的引用(类似C/C++中的指针,存放的是首地址)

静态导入

import static java.lang.System.*;

以上为静态导入,可以免前缀。如下:

System.out.println(...);
可以改为:
out.println(...);

流程控制复习

if

小括号中必须是boolean类型的值 if(1){} //在java中是错误的 if(true){}

for/while/do..while

java中称为forEach语句,C++中称为范围for循环(rang for) java:

for(int element:arrays){
    ...
}

C++11:

for(auto element:arrays){
    ...
}

switch

在JDK1.7之后,小括号中可以使用字符串(String)。c/c++都不可以。

switch(n){
    case 1:...;break;
    case 2:...;break;
    default:...;
}

函数复习

C/C++称函数;java中称方法。 函数或方法都是先定义后使用。 java/C++中增加了访问修饰符,C语言中没有。 函数或方法的声明

[访问修饰符] 返回值类型 方法名(数据类型 参数名,...){
	...
}

输入输出

Scanner类不适用于从控制台读取密码,JavaSE 6引入了Console类实现这个目的。 example:

Console cons=System.console();
String userName=cons.readLine("用户名:");
char[] password=cons.readPassword("密码");

Scanner类可以对文件进行操作 Scanner类可以对文件进行操作 这种操作的基础是为Scanner类的构造方法传入一个File对象。 example:

Scanner in=new Scanner(Paths.get("myfile.txt"),"utf-8);

如果要指定绝对地址则需要,如下: "c:\myFile\myfile.txt"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值