The basic types are Bits, UInt and SInt which can be defined with width n.W

scala> import chisel3._
import chisel3._

scala> Bits
val res0: chisel3.Bits.type = chisel3.package$Bits$@185a2b97

scala> 4.W
val res1: chisel3.internal.firrtl.Width = <4>

scala> Bits(8.W)
val res2: chisel3.UInt = UInt<8>

scala> UInt(5.W)
val res3: chisel3.UInt = UInt<5>

scala> SInt(8.W)
val res4: chisel3.SInt = SInt<8>

constants is converted to chisel type with .U and .S

scala> 0.U
val res3: chisel3.UInt = UInt<1>(0)

scala> -1.S
val res4: chisel3.SInt = SInt<1>(-1)

scala> -1.S(4.W)
val res5: chisel3.SInt = SInt<4>(-1)

One possible issue is

scala> 1.U(32)
          ^
       warning: Passing an Int to .U is usually a mistake: It does *not* set the width but does a bit extract.
       Did you mean .U(32.W)?
       If you do want bit extraction, use .U.extract(32) instead.
val res7: chisel3.Bool = Bool(false)