第四天

第四天
数据类型:强类型,弱类型
Java的数据类型:基本类型,
  • 数值类型(比较时只能用同种类型进行比较)
    • 整数 int, byte, short, long
    • 浮点数 float, double
    • 字符类型 char
  • boolean类型:占1位,数值只有true(1)和false(0)两个
public class 数据类型{
   public static void main(String[] args){
    int a=10;//常用
    byte b=20;//-128~127
    short c=30; long d=30L;//后面加个L
    float e=40.1F;//要在数字后面加F
    double f=3.14159265358979323846264333;
    char g='a';//只能输一个字符 String h="adsfd";//不是类,关键字,开头要大写
    boolean flag=true;
    if(flag){}//内部相当于flag==ture
  }
}
引用类型
  • 接口
  • 数组
进制:
  • 二进制 ob
  • 十进制 10
  • 八进制 o 010
  • 十六进制ox 0x10
强制转换
char c1='a';
char c2='中';
System.out.println((int)c1);
System.out.println((int)c2);
>>97(a对应的ascll码,Unicode表)
>>20013(中对应的ascll码)
 
char a='\u0061';>>输出的是a。
\t 制表符 \n 换行符
类型转换
  • 由低到高转换:byte,short,char-->int-->long-->float-->double自动转换 如:byte b=2; int i=b 由高到低转换为强制转换 如:byte i=(int)12注意溢出问题;
 
  • 运算中,不同类型的数据先转化为同一类型,然后进行运算
  • 布尔值不能进行转换
变量:全局变量和局部变量
public class 数据类型{
  int a=100;//实例变量,从属于对象。
 // 一般不赋值的话它的初始化为0布尔值的话就是false。
 //除了基本类型其他就是null。
 static int b=200;//类变量前面要加static,从属于类
 public static void main(String[] args) {
    int c=300;//局部变量,存在于方法里,必须初始化,且只在花括号中间有用
  }
 } //类是一个独立的程序相当于这里的 数据类型 这个东西。
// 对象是一个抽象概念可以是人,也可以是事件,物品。
// 类的实体化就是对象,对象抽象化就是类。
定义常量 : final 数据类型 常量名=值(常量名一般用大写)
自增自减
  • a++=a+1;a--=a-1
  • ++a;--a也是加减一
  • 两者的差别是++a在同一运行次数内比++a
运算符
  • Math.pow(a,b)次方运算,a的b次方
  • 判断>=,<=,>,<,==,!=
  • +, - ,* ,?(整除,在整数型中舍去小数部分),%(取余比如11%5=1)
  • ||或(一真则真) &&且(一假则假)
  • 1&0=0;1|0=1;1^0=0(相同为假,不同为真);~1=0(取反)
  • >>右移,<<左移(移动的是二进制的位数)
  • x?y:z(x是否正确,正确为y否则为z)
  • +=,-=……
练习:
1.求100个整数的和
import java.util.* ;
public class addUp {
  public static void main(String[] args){
    Scanner in=new Scanner(System.in);
    int a=in.nextInt() ;//输入要求和的整数
    int sum=0; for(int i=0;i<=a;i++){//for循环
    sum+=i;//求和
     }
    System.out.println(sum);
  }
}
2.字符串操作:创建字符串数组,并将其元素转换为大输出
public class moreword {
  public static void main(String [] args){
    int[] a={1,2,3,4,5,6,7,8,9,10};//new对于数组有无没什么差别
    int[] b=new int[]{1,2,3,4,5,6,7,8,9,10};
    String[] c={"wee","efe","efr"};//String有new引用变量推向堆区,无指向常量池
    String[] d=new String[]{"rtr","tgt","rtth"};
    for(int i=0;i<c.length ;i++){//c.length是求c的里面的个数
      System.out.println(c[i].toUpperCase());//用函数toUpperCase,变小也有相对应的函数。
    }
  }
}
 
储存区域:
  • 栈区:由编译器自己分配的内存,会自己释放,连续储存
  • 堆区:由程序员自己分配的内存,要人为释放,不连续储存(不释放会占据空间)
  • 全局区:储存全局变量和静态变量,系统自动
  • 文字常量区:储存常量字符串
  • 程序代码区:存放函数体的二进制代码
 
思考题
1. 编写求圆的面积的程序。
2. 编写前n个自然数的和的程序。
3. 编写判断一元二次方程根的情况的程序。
4. 编写Java Applet程序实现上述功能(选做)。
 

posted @ 2021-07-11 14:09  风干一条鱼  阅读(50)  评论(0)    收藏  举报